予想されるオペランド:構文エラー(比較文)

予想されるオペランド:構文エラー(比較文)

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

おすすめ記事