此问题已在此处有答案:
Parsing JSON with Unix tools(47回答)
3天前关闭。
我是新的shell脚本,我试图记录与 curl 和grep命令的消息。
下面是curl命令
curl --cacert ds***ds*DS*ghgjhg** > /data/result.out
这里运行curl命令并创建result.out文件。
下面是日志文件中的结果。
result.out
{
"data": [
{
"numberOfRecords": 15,
"objectType": "abc"
},
{
"numberOfRecords": 10,
"objectType": "pqr"
},
{
"numberOfRecords": 32,
"objectType": "xyz"
}
],
"errors": [
{
"errorMessage": "java.sql.SQLException:",
"objectType": "xxx"
}
]
}
我想检查是否有任何错误数组,并有errorMessage然后
log“curl命令失败..“+ errorMessage.
否则
日志“curl命令成功执行”
它试过了
if grep -w "errors" /data/result.out; then
echo "curl command failed." + errorMessage
else
echo "curl command succesfully executed"
exit 1
它检查错误字符串,但不知道如何检查是否有任何孩子,如果有,则获取errorMessage。试图找到解决方案,但无法找到任何适当的。
1条答案
按热度按时间btqmn9zl1#
使用
jq
,正确的JSON
解析器: