我需要在bash脚本(busybox)中使用jq从json文件中获取特定值。json文件如下所示:
{
"example.com": {
"backend": "1.3.7"
}
}
在我的脚本中,有两个变量:project
和app
-当然还有多个项目和应用程序。我需要使用这些变量值来获取版本值。在此示例中project
为“ example.com”,app
为“后端”
我试过了
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句