我想一无所有地用JQ创建一个Json文件(Composer)。 我的目标是从jq命令中传递的args设置模块和版本
{
"require" : {
"mymodule": "myversion"
}
}
我尝试过类似的操作,但我不明白为什么它不正确。
jq --arg module "themodule" --arg version "3.0" '{.require.($module):$version}'
感谢您的帮助
答案 0 :(得分:2)
首先,您几乎肯定会希望使用-n
命令行选项;其次,module
是关键字,因此不能用作$变量名称。但是:
jq -n --arg m themodule --arg version "3.0" '
{require: { ($m): $version} }'
产生:
{
"require": {
"themodule": "3.0"
}
}
这里的技巧是将表达式中指定键名的表达式括在括号中。