MHo*_*gge 3 bash quoting variable jq
要将属性添加到我设法使用的 JSON 文本
result=$(jq -c '.docs[0] + { "value": "someValue" }'<<<"$fileContent")
Run Code Online (Sandbox Code Playgroud)
但是如果我想用一个变量替换“someValue”:
result=$(jq -c '.docs[0] + { "value": ($value) }'<<<"$fileContent")
Run Code Online (Sandbox Code Playgroud)
这给了我
jq: error: value/0 is not defined at <top-level>, line 1:
.docs[0] + { "value": ($value) }
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud)
我也试过没有大括号$value
和括号内[$value]
没有成功。
Kus*_*nda 12
您的jq
表达式在单引号内。这将停止$value
被外壳扩展。
相反,使用jq
with--arg
为jq
变量提供shell 变量的 JSON 编码值:
result=$(jq --arg value "$value" -c '.docs[0] + { "value": $value }' <<<"$fileContent")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13802 次 |
最近记录: |