我需要在bash脚本(busybox(中使用jq从json文件中获取特定值。json文件如下所示:
{
"example.com": {
"backend": "1.3.7"
}
}
在我的脚本中有两个变量:project
和app
,因为当然有多个项目和应用程序。我需要使用这些变量值来获得版本值。在这个例子中,CCD_;example.com";并且CCD_ 4是"0";后端";
我试过这个
jq --arg p "$project" --arg a "$app" '.[$p].[$a]' file.json
但我确实得到错误
jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.[$p].[$a]
jq: 1 compile error
您可以这样使用它:
jq -r --arg p "$project" --arg a "$app" '.[$p][$a]' file.json
否则:
jq -r --arg p "$project" --arg a "$app" '.[$p] | .[$a]' file.json
1.3.7