我似乎无法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
,那么cat
它本身是不必要的。