午前中にチェックを行うための簡単なbashスクリプトを作成する:一部は、いくつかのhtmlファイルをプルダウンし、それらが存在することを確認することです。もう1つの部分は、いくつかのローカルファイルが存在することを確認し、存在しない場合は電子メールで送信することです。私が直面している問題は、「構文エラー:予期しないファイルの終わり」が表示され、なぜそれが発生するのか本当に理解できないことです。コードの簡略化されたバージョンは次のとおりです。
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
sh -xを使用すると、レポートの数をvar "numoffiles"に割り当てることができますが、それがファイルの終わりであると信じているだけです。誰か提案がありますか?