给定我的data.json中的JSON对象
{
"prod": {
"apps": {
"myapp": {"cloudfront_id":"BINGO-PROD"}
}
},
"stg": {
"apps": {
"myapp": {"cloudfront_id":"BINGO-STG"}
}
}
}并在bash中给出以下jq:
#!/bin/bash
ENV="prod"
APP="myapp"
OUTPUT=$(cat data.json | jq -rc \
--arg env "${ENV}" \
--arg app "${APP}" \
'.[$env] .apps .[$app] .bar')此操作失败,并显示以下错误:
jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.[$env] .apps .[$app] .cloudfront_id
jq: 1 compile error如果我只删除[$app]并用myapp替换它,它就能正常工作。我在运行jq-1.5 --你知道为什么吗?
发布于 2019-05-20 19:38:34
JQ1.5不支持.key.["key"]语法(1.6支持)。把点放在[$app]前面,你就可以开始了:
.[$env].apps[$app].cloudfront_idhttps://stackoverflow.com/questions/56219187
复制相似问题