0
我写了下面的代码:语法错误:在shell脚本文件意外结束
. smtp.config
SEND_MAIL(){
cat $BODY |mailx -s "report_`date '+%Y%m%d%H%s'`" $TO_LIST -c $CC_LIST << $REPORTS_PATH ;
};
if [ ${#REPORTS_PATH[@]} -gt 0 ] then
SEND_MAIL;
echo MAIL SENT : `date` >> $LOG_FILE ;
mkdir $REPORTS_ARCHIVE/report_`date '+%Y%m%d%H%s'` ;
mv $REPORTS_PATH/* $REPORTS_ARCHIVE/report_`date '+%Y%m%d%H%s'` ;
echo done ;
fi
当我运行该脚本,它给了我:
./mail.sh: line 13: syntax error: unexpected end of file
另一件事是我可以用另一个语法替换这部分:if [ ${#REPORTS_PATH[@]} -gt 0 ]
(这部分我用来检查目录是否包含文件或空的。
请看:http://www.shellcheck.net/ – Cyrus 2014-10-22 08:53:55
感谢,但还是它给人意外的文件结尾没有修复 – 2014-10-22 09:02:34
删除'$ << REPORTS_PATH'。 – Cyrus 2014-10-22 09:11:19