echo $(curl -s -u user:pwd" http://site/file.json" | jq -e -r' .data []?| select(.state ==& #34;活跃")| if。== null然后"安装" elif。=="活动"然后"活动"否则"安装& #34;结束')
以下是错误:
解析错误:第2行第0列的数字文字无效
在file.json不存在的情况下,返回404页面并且jq抛出解析错误。在这种情况下,我想返回字符串"安装"。尝试了很多事情,但没有任何问题,请帮忙。
答案 0 :(得分:0)
将回复写入变量:
# -f makes curl return an error in case of HTTP error.
# Check "man curl" on how reliable this is.
response="$(curl -f ...)"
if [ $? -ne 0 ] ; then
echo "Installing"
else
jq FILTER <<< "${response}"
fi