【发布时间】:2016-01-19 17:41:11
【问题描述】:
我似乎无法让 jq 在 shell 管道中“正常”地运行。例如:
$ curl -s https://api.github.com/users/octocat/repos | jq | cat
导致jq 简单地打印出它的帮助文本*。如果我尝试将jq 的输出重定向到文件,也会发生同样的事情:
$ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json
如果jq 确定它不是从 tty 运行,它是否会故意退出?如何防止这种行为,以便我可以在管道中使用 jq?
编辑:在jq 的最新版本中,这似乎不再是问题。我现在有jq-1.6,上面的示例按预期工作。
* (我知道这个例子包含一个useless use of cat;它只是为了说明目的)
【问题讨论】: