メールアラートを送信するために、次のシェルスクリプトを用意しています。for ループしかない場合はすべて正常に動作しますが、if 条件を追加しようとすると動作しないようで、毎回 null メッセージ本文が返されます。スクリプトのスニペットは次のとおりです。
for host in $servers
do
connections=`ssh $host "netstat -a | grep ES | wc -l"`
echo "$connections" >> debug.log
echo "$host" >> debug.log
if [$connections -gt 0]
then
echo "------------------------------------------------------------------" >> $emailmessage
echo "Host: $host needs to be checked" >> $emailmessage
echo "------------------------------------------------------------------" >> $emailmessage
echo "$connections" >> $emailmessage
else
echo "Everything is fine"
fi
done
line 21: [49: command not found
スクリプトを実行しようとすると、常にエラーが発生します。デバッグを試みましたが、スクリプトが if ループに入っていないことがわかりました。
誰かが私に何が欠けているか教えてもらえますか?
前もって感謝します。
/日