Comando Bash não encontrado erro

3

Por que o seguinte script fornece os seguintes erros:

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

check1.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"
    
por Novice User 06.04.2014 / 08:48

1 resposta

9

A linha atribuindo mailbody está errada. Você está chamando o conteúdo de $body e / ou $body1 como uma linha de comando do shell.

Substituir

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

com

[ "$applicationstatus" = 200 ] && mailbody="$body" || mailbody="$body1"
    
por 06.04.2014 / 08:53