我尝试以这种方式传递一个shell变量:
jq -r --arg NEWGROUP "$NEWGROUP" '.[] | select(.name | contains("$NEWGROUP") ) | .id'但它不起作用。
当我在contains()中显式地指定组名时,它会起作用。我做错了什么吗?
发布于 2017-11-08 17:02:13
我是不是做错了什么?
是的,在jq程序中,您已经引用了您想要成为jq变量的内容,从而将其转换为JSON字符串。只需删除引号即可使$-string成为$-变量。
附注:您可能应该避免使用contains,它具有奇怪的语义。根据您的jq,可以考虑的替代方案包括index和test。
https://stackoverflow.com/questions/47174988
复制相似问题