我似乎无法让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,上面的示例按预期工作。
*(我意识到这个例子中无用地使用了cat;这只是为了说明的目的)