Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String BASH中出现意外的文件结尾_String_Bash_Syntax Error_Heredoc - Fatal编程技术网

String BASH中出现意外的文件结尾

String BASH中出现意外的文件结尾,string,bash,syntax-error,heredoc,String,Bash,Syntax Error,Heredoc,编写一个简单的bash脚本,在早上为我做一些检查: 其中一个部分是下拉一些html文件并确保它们存在。 另一部分是确保一些本地文件存在,如果不存在,则发送电子邮件。 我面临的问题是,我收到了一个“语法错误:意外的文件结尾”,我真的不明白为什么会发生这种情况。 以下是代码的简化版本: for myHost in $HOSTS do result=$(wget -T $TIMEOUT -t 1 $myHost -O /dev/null -o /dev/stdout) result2=$(ec

编写一个简单的bash脚本,在早上为我做一些检查: 其中一个部分是下拉一些html文件并确保它们存在。 另一部分是确保一些本地文件存在,如果不存在,则发送电子邮件。 我面临的问题是,我收到了一个“语法错误:意外的文件结尾”,我真的不明白为什么会发生这种情况。 以下是代码的简化版本:

for myHost in $HOSTS
do
  result=$(wget -T $TIMEOUT -t 1 $myHost -O /dev/null -o /dev/stdout)
  result2=$(echo $result | grep "awaiting response")
  connected=$(echo $result | grep "404");
  if [ "$connected" != "" ]; then
    for myEMAIL in $EMAIL
    do
      echo -e "$(date) - $myHost is down! \n This is an automated message." | mailx -r "box.email.com"  -s "$SUBJECT" $myEMAIL
    done
  fi
done

numoffiles=`find . -maxdepth 1 -mtime -1 | grep -i .html | wc -l`
if [ "$numoffiles" -ne 5 ]; then
  FILE=$(find . -maxdepth 1 -mtime -1 -print| grep -i .html)
  mailx -r "box.email.com"  -s "FILE MISSIN" "$EMAIL" << EOF
  EOF
fi
myHost的
,单位为$HOSTS
做
结果=$(wget-T$TIMEOUT-t1$myHost-O/dev/null-O/dev/stdout)
结果2=$(echo$result | grep“等待响应”)
已连接=$(echo$result | grep“404”);
如果[“$connected”!=”;然后
对于myEMAIL,请使用$EMAIL
做
echo-e“$(日期)-$myHost已关闭!\n这是一封自动邮件。“|mailx-r”box.email.com”-s“$SUBJECT”$myEMAIL
完成
fi
完成
numofiles=`find-maxdepth 1-mtime-1 | grep-i.html | wc-l`
如果[“$numofiles”-ne 5];然后
FILE=$(find.-maxdepth 1-mtime-1-print | grep-i.html)

mailx-r“box.email.com”-s“FILE MISSIN”“$email”标签末尾之前不应有任何空格:

   EOF
^^^
换成

EOF

太棒了,我真不敢相信我错过了。谢谢你的帮助