Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将shell变量传递给jq过滤器_Shell_Variables_Jq - Fatal编程技术网

如何将shell变量传递给jq过滤器

如何将shell变量传递给jq过滤器,shell,variables,jq,Shell,Variables,Jq,我尝试以这种方式传递shell变量: jq -r --arg NEWGROUP "$NEWGROUP" '.[] | select(.name | contains("$NEWGROUP") ) | .id' 但它不起作用 当我在contains()中显式指定组名时,它会起作用。 我做错什么了吗 我做错什么了吗 是的,在jq程序中,您已经引用了您想要成为jq变量的内容,从而将其转换为JSON字符串。只需删除引号,让$-字符串成为$-变量 p、 你可能应该避免包含,因为它有奇怪的语义。根据您的J

我尝试以这种方式传递shell变量:

jq -r --arg NEWGROUP "$NEWGROUP" '.[] | select(.name | contains("$NEWGROUP") ) | .id'
但它不起作用

当我在contains()中显式指定组名时,它会起作用。 我做错什么了吗

我做错什么了吗

是的,在jq程序中,您已经引用了您想要成为jq变量的内容,从而将其转换为JSON字符串。只需删除引号,让$-字符串成为$-变量

p、 你可能应该避免
包含
,因为它有奇怪的语义。根据您的JQ,可考虑的备选方案有:<代码>索引< /代码>和<代码>测试< /代码> .<