我遇到JQ查询问题:
max=$(script) <-- (return integer)
jq -r ".notifiestext | map(select(.read==false))" temp_notif |
jq --arg foo "$max" "map(select(.id<$foo))"
我收到以下错误:
jq: error: syntax error, unexpected ')' (Unix shell quoting issues?) at <top-level>, line 1: map(select(.id<))
&#34; .id&#34;参数是一个整数
任何解决方案?
答案 0 :(得分:3)
您需要转义$
的{{1}},以便在$foo
甚至运行之前,shell不会尝试将其展开为参数。
jq
最好使用jq -r ".notifiestext | map(select(.read==false))" temp_notif |
jq --arg foo "$max" "map(select(.id<\$foo))"
过滤器的单引号。
jq