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