bash脚本中的JQ参数错误

时间:2016-11-09 19:32:36

标签: json bash jq

我遇到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;参数是一个整数

任何解决方案?

1 个答案:

答案 0 :(得分:3)

您需要转义$的{​​{1}},以便在$foo甚至运行之前,shell不会尝试将其展开为参数。

jq

最好使用jq -r ".notifiestext | map(select(.read==false))" temp_notif | jq --arg foo "$max" "map(select(.id<\$foo))" 过滤器的单引号。

jq