enf de arquivo inesperado (exceto “f $ ing” fi ")

1
os: pfSense (nanobsd)
shell: csh

script:

/etc/rc.conf_mount_rw
mount -t msdosfs /dev/da0s1 /mnt/usb

if ( -s /var/squid/log/access.log ) then
    cat /var/squid/log/access.log | perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e' > /mnt/usb/access_'date +%Y-%m-%d-%H-%M'.log
    echo "Log wurde gespeichert"
else
    echo "Logfile ist leer, kein Logfile geschrieben"
endif

/etc/rc.conf_mount_ro

Lança o seguinte erro:

/scripts/copy-script.sh: 14: Syntax error: end of file unexpected (expecting "f$ing "fi")

Alguma sugestão?

    
por TaXXoR 08.07.2013 / 10:05

2 respostas

2

Você deve adicionar a linha shebang no início do seu script.

#!/bin/csh

Para que seja executado com o /bin/csh e não com o /bin/sh .

O erro parece que seu script foi executado com sh .

    
por 08.07.2013 / 10:40
0
As declarações

if devem terminar com fi , não com endif .

    
por 08.07.2013 / 10:10