文件的 enf 意外(“f$ing”fi“除外)

文件的 enf 意外(“f$ing”fi“除外)
os: pfSense (nanobsd)
shell: csh

脚本:

/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

抛出以下错误:

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

有什么建议么?

答案1

您应该在脚本的开头添加 shebang 行。

#!/bin/csh

这样它将与 一起执行/bin/csh,而不是与 一起执行/bin/sh

该错误看起来像是您的脚本是使用sh.

答案2

if语句应该以 结尾fi,而不是以 结尾endif

相关内容