jq抑制404 json文件的解析错误

时间:2017-11-06 14:50:34

标签: shell curl error-handling jq

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抛出解析错误。在这种情况下,我想返回字符串"安装"。尝试了很多事情,但没有任何问题,请帮忙。

1 个答案:

答案 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