设置一个jq名称加句号的值

  • 本文关键字:jq 一个 设置 shell jq
  • 更新时间 :
  • 英文 :


我想知道我怎么能逃避newValue所以jq替换值:

#!/bin/sh
test="{ "one.one" : { "version" : "0.0.1" }, "two.two" : { "version" : "0.0.2" } }"
newvalue="3.3.3"
newjson=$(echo $test | jq '."two.two".version = "$newvalue" ')
echo $newjson

输出:

{ "one.one": { "version": "0.0.1" }, "two.two": { "version": "$newvalue" } }

没有转义我尝试"'周围$newvalue似乎工作

首先,变量不能用引号括起来。替换

"$newvalue"

$newvalue

其次,您从未在jq程序中设置$newvalue。要实现这一点,您可以使用以下命令:

--arg newvalue "$newvalue"

相关内容

  • 没有找到相关文章

最新更新