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