Bashコマンドが見つかりませんエラー

Bashコマンドが見つかりませんエラー

次のスクリプトで次のエラーが発生するのはなぜですか?

./check1.sh: line 10: Hi,: command not found  
./check1.sh: line 21: syntax error: unexpected end of file

1.shを確認してください。

#!/bin/bash


subj="host `hostname`"
healthcheckstatus=$(curl -s -o /dev/null -w '%{http_code}' http://localhost)

body="Hi, Application is up"
body1="Hi, Application is down"

mailbody=$([ "$applicationstatus" == 200 ] && $body || $body1)


if [ $healthcheckstatus != "200" ]
then
mail -s "$subj" [email protected] <<EOS
`echo -e $mailbody`
EOS
fi
echo "email subject ::$subj"
echo "email body ::$mailbody"

答え1

ライン割り当てmailbodyエラーです。シェルコマンドライン$bodyの内容をおよび/または$body1シェルコマンドラインで呼び出しています。

変える

mailbody=$([ "$applicationstatus" == 200 ] && $body || $body1)

そして

[ "$applicationstatus" = 200 ] && mailbody="$body" || mailbody="$body1"

関連情報