LiengEn Skrevet 24. oktober 2008 Del Skrevet 24. oktober 2008 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
zotbar1234 Skrevet 25. oktober 2008 Del Skrevet 25. oktober 2008 finnes=0 timestamp=0 avslutt=0 if [ -f $1 ] then finnes=1 timestamp=$(date -r $1) fi if list; then list; [ elif list; then list; ] ... [ else list; ] fi ... er syntaksen. Du har glemt en ";" (Tilsvarende med while). Lenke til kommentar
LiengEn Skrevet 31. oktober 2008 Forfatter Del Skrevet 31. oktober 2008 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' Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå