我有下面的 JSON 文件,并且在尝试在 shell 中动态向数组添加值时遇到错误。
下面是一个 tmp.json 文件,
{
"environments": {
"integration": [
"testing for jenkins job"
],
"prod": [],
"staging": [],
"uat": []
}
}
当我尝试将值附加到具有静态变量的数组时,它工作正常。
下面是命令,
jq '.environments.integration += ["test1"]' tmp.json
相应的输出是,
{
"environments": {
"appbuild": [],
"integration": [
"testing for jenkins job",
"test1"
],
"prod": [],
"staging": [],
"uat": []
}
}
然而,当我尝试动态附加值时,它会抛出错误。
export Environment_Name="integration"
jq ".environments."\"${Environment_Name}"\" += test1" tmp.json
我得到的错误是,
jq: error: test1/0 is not defined at <top-level>, line 1:
.environments."integration" += test1
jq: 1 compile error
任何人都可以帮忙解决这个问题吗?
你那里有一些额外的引号test1
需要是["test1"]
jq ".environments.${Environment_Name} += [\"test1\"]" tmp.json
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)