wget結果を比較すると、次のエラーが発生します。
mpa=$(wget http://xxxxxxxx/api/pages/ZZZZ-YYYY -q -O -)
echo $mpa
if (($mpa = "{"'"'name'"'":"'"'ZZZZ-YYYY'"','"'active'"':true}"" )); then
echo "CRITICAL: Up."
else
echo "OK: Down."
fi
エラーが発生しました:
./mpa: line 25: ((: {"name":"ZZZZ-YYYY","active":true} = {"name":"ZZZZ-YYYY","active":true} : syntax error: operand expected (error token is "{"name":"ZZZZ-YYYY","active":true} = {"name":"ZZZZ-YYYY","active":true} ")
OK: Down
エラーがどこにあるのかよくわかりません。
エコを試すとき:
mpa="{"'"'name'"'":"'"'ZZZZ-YYYY'"','"'active'"':true}""
結果は良いです:
echo $mpa
{"name":"ZZZZ-YYYY","active":true}
ただし、ifステートメントで比較すると、このエラーが表示されます。
ベストアンサー1
あなたのif
声明は文法的なエラーです。文字列比較を実行する正しい方法は次のとおりです。
if [[ "testcase" == "$variable" ]]; then
do_stuff
else
do_other_stuff
fi