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
.