【发布时间】:2021-11-11 15:05:11
【问题描述】:
我正在用 bash 编写脚本来编辑一个 json 模板,用我的脚本的参数替换一些字段值,并尝试使用 jq 进行编辑。我的代码不是将 --arg 替换为参数的值,而是参数名称的文字文本。
我的模板包含:
{
"name":""
}
我的jq码:
jq --arg ad "192.168.5.5" -r '.name = "Addr $ad"' address.tmpl
这个输出:
{
"name": "Addr $ad"
}
或者,如果我删除双引号
jq --arg ad "192.168.5.5" -r '.name = Addr $ad' address.tmpl
我明白了
jq: error: syntax error, unexpected '$', expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.name = Addr $ad
jq: 1 compile error
根据我所阅读的所有内容,这应该可以。我在做什么错/我该如何解决这个问题????
操作系统 = Debian 10
【问题讨论】: