jq: error: syntax error, Unexpected $end (Unix shell quoting issues?) at <builtin>, line 29: )

jq: error: syntax error, Unexpected $end (Unix shell quoting issues?) at <builtin>, line 29: )

对于我的系统,jq 突然出现了这个问题,它在最简单的用例中失败了:

$ echo '{"foo": 0}' | jq .
jq: error: syntax error, unexpected $end (Unix shell quoting issues?) at <builtin>, line 29:
  )
jq: 1 compile error

这是我的环境描述:

OS 和版本:MacOS Catalina 10.15.7,64 位 jq 版本:1.6、1.5、1.4

我尝试使用 brew (brew install jq) 安装 jq 以及使用直接为 OSX 64 位 here 提供的二进制文件并得到相同的错误。然而,它与 jq-1.3 一起工作时很奇怪,但这是一个相当旧的版本,缺少一些重要的过滤器,如 gsub.

在 jq github 存储库中发布了这个问题,并得到了 prompted ~/.jq 文件的问题。事实上,我的 ~/.jq 文件有上述语法错误。修复我的 ~/.jq 文件解决了这个问题。