将参数传递给jq过滤器 [英] passing arguments to jq filter
本文介绍了将参数传递给jq过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的config.json:
Here is my config.json:
{
"env": "dev",
"dev": {
"projects" : {
"prj1": {
"dependencies": {},
"description": ""
}
}
}
}
这是我的bash命令:
Here are my bash commands:
PRJNAME='prj1'
echo $PRJNAME
jq --arg v "$PRJNAME" '.dev.projects."$v"' config.json
jq '.dev.projects.prj1' config.json
输出:
prj1
null
{
"dependencies": {},
"description": ""
}
因此$ PRJNAME是prj1,但是第一次调用仅输出null
.
So $PRJNAME is prj1, but the first invocation only outputs null
.
有人可以帮助我吗?
推荐答案
示例中的jq程序.dev.projects."$v"
实际上将尝试查找名为"$v"
的键.请尝试以下操作:
The jq program .dev.projects."$v"
in your example will literally try to find a key named "$v"
. Try the following instead:
jq --arg v "$PRJNAME" '.dev.projects[$v]' config.json
这篇关于将参数传递给jq过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文