我正在尝试更新json中的环境变量值。我可以通过使用变量作为参考来做到这一点吗?
这有效:
cat taskdef.json | jq '
.taskDefinition.containerDefinitions[].environment
| map(if .name == "ARTIFACT_LOCATION"
then . + {"value" : "2"}
else . end)'
这不是:
cat taskdef.json | jq '
.taskDefinition.containerDefinitions[].environment
| map(if .name == "ARTIFACT_LOCATION"
then . + {"value" : "**$NEW_ARTIFACTORY_LOCATION**"}
else . end)'
答案 0 :(得分:0)
如果到$**$NEW_ARTIFACTORY_LOCATION**
您打算表示环境变量$ NEW_ARTIFACTORY_LOCATION的值,则可以使用env.NEW_ARTIFACTORY_LOCATION
,例如
.taskDefinition.containerDefinitions[].environment
| map(if .name == "ARTIFACT_LOCATION"
then . + {"value" : env.NEW_ARTIFACTORY_LOCATION}
else . end)'
或者,您可以使用--arg NAME VALUE
命令行选项。