我正在尝试读取json变量的字段值,该字段名称也存储在变量中。
我尝试过的事情:
$ jsonVar=`cat test-config.json`
$ echo $jsonVar
{ "server-test": "xxx", "server2-test": "xxx", "server3-test": "xxx"}
$ echo $it
server-test
$ itVersion=$(jq --arg test "${it}" '.["${test}"]' <<< $jsonVar);
$ echo $itVersion
null
$itVersion
现在应该具有"server-test"
的值,但应该是null
,看来我的JQ命令是错误的,但我不知道为什么。
答案 0 :(得分:1)
只能通过proc.time
而不是$var
来访问变量。另外,它被扩展为带引号的字符串,因此将其用双引号引起来是多余的。
我建议您使用以下内容:
${var}