Gå til innhold

Anbefalte innlegg

Hei!

Sitter og klør meg i hue her. Skal lage et script som overvåker en fil, og rapporterer om filen er opprettet, slettet eller endret.

finnes=0
timestamp=0
avslutt=0
if [ -f $1 ]
 then
finnes=1
timestamp=$(date -r $1)
fi  

while [ avslutt=0 ] 
 do
if [ -f $1 -a $finnes = 0 ]
  then
	echo "Filen $1 har blitt opprettet"
	finnes=1
avslutt=1
  else if [ !-f $1 -a $finnes = 1 ]
	then
	  echo "Filen $1 har blitt slettet"
  finnes=0
  avslutt=1
  else if [ $finnes = 1 -a timestamp != $(date -r $1) ]
then
  echo "Filen $1 har blitt endret"
  avslutt=1
  else
  sleep 60
fi
done

Får denne feilmeldingen: syntax error near unexpected token `done'

Lenke til kommentar
Videoannonse
Annonse

OK, takk.

 

Omstrukturer litt på løkka her, slik at den bare trenger å utføre èn if-operasjon før sleep funksjonen.

 

Tenker slik: if ( (hvis filen finnes OG finnes = 1) ELLER (hvis filen ikke finnes OG finnes = 0))

 

if [ ( -f $1 -a $finnes = 1 ) -o ( ! -f $1 -a $finnes = 0 ) ) ]

 

Får her syntax error near unexpected token `-f' :ermm:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...