Ich kann mich jq
in einer Shell-Pipeline nicht "normal" verhalten. Beispielsweise:
$ curl -s https://api.github.com/users/octocat/repos | jq | cat
führt dazu jq
, dass der Hilfetext * einfach ausgedruckt wird. Das gleiche passiert, wenn ich versuche, die jq
Ausgabe in eine Datei umzuleiten :
$ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json
Wird jq
absichtlich gerettet, wenn festgestellt wird, dass es nicht von einem tty ausgeführt wird? Wie kann ich dieses Verhalten verhindern, damit ich es jq
in einer Pipeline verwenden kann?
* (Mir ist klar, dass dieses Beispiel eine nutzlose Verwendung von Katze enthält ; es dient nur zu Illustrationszwecken)
jq
sowohl aus einer Pipe gelesen als auch in eine andere Pipe geschrieben wird. Wenn der Wunsch besteht, einfach die Ausgabe von zu sehenjq
, dann istcat
selbst unnötig.