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