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
。