JQ 抑制 404 个 JSON 文件的解析错误



echo $(curl -s -u user:pwd "http://site/file.json" | jq -e -r '.data[]? | select(.state == "Active") | if . == null 则 "Installing" elif . == "Active" 然后 "Active" 否则 "Installationing" end')

以下是错误:

解析错误:第 2 行第 0 列处的数字文字无效

在 file.json 不存在的情况下,返回 404 页面并且 jq 引发解析错误。在这种情况下,我想返回字符串"安装"。尝试了很多事情,但没有任何效果,请帮忙。

将响应写入变量:

# -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

相关内容

最新更新