[英]Ubuntu Shell Script - Use jq with args
我正在尝试使用jq程序在shell脚本中编辑json文件。 json文件具有以下格式:
{
"bla": {
"test1": "True",
"test2": "False"
}
}´
我想设置一个参数来定义应更改“ bla”中的哪个值。 我想像这样启动脚本:
$ ./myscript.sh test1
我这样尝试过:
#!/bin/sh
jq --arg v $1 '.pokemon.$v = "True"' filters.json > tmp.$$.json && mv tmp.$$.json filters.json
但这是行不通的。 我收到以下错误:
error: syntax error, unexpected '$', expecting IDENT
.pokemon.$v = "True"
^
1 compile error
有人知道如何解决吗?
你需要使用[...]
下标语法代替.
语法,如果要在下标中使用变量:
.pokemon[$v] = "True"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.