【发布时间】:2017-11-06 14:50:34
【问题描述】:
echo $(curl -s -u user:pwd "http://site/file.json" | jq -e -r '.data[]?| select(.state == "Active") | if . == null then "安装” elif . == “活动” 然后 “活动” 否则 “安装” 结束')
以下是错误:
解析错误:第 2 行第 0 列的数字文字无效
在 file.json 不存在的情况下,返回 404 页面并且 jq 抛出解析错误。在这种情况下,我想返回字符串“Installing”。尝试了很多东西,但没有任何效果,请帮忙。
【问题讨论】:
-
如果
curl返回的错误与404不同,应该打印什么? -
期望“安装”也打印所有其他错误。只有当 .data[].state 返回“Acitve”时才应该打印“Active”。
-
你能发布一个预期的输入 json 结构吗?
标签: shell curl error-handling jq