Warum funktionieren bestimmte Programme nicht richtig, wenn sie in „more“ weitergeleitet werden?

Warum funktionieren bestimmte Programme nicht richtig, wenn sie in „more“ weitergeleitet werden?

Warum werden | morebei manchen Programmen keine Auswirkungen erzielt, wenn sie in Bash ausgeführt werden?

Ich bekomme dieses Verhalten mit leiningen, nicht wirklich einem Befehl, sondern einem Programm. Ich denke, es passiert tatsächlich in Fällen, in denen die Ausgabe an stderr gesendet wird. Ich werde das bestätigen.

Antwort1

Das Pipe-Symbol (" |") verbindet den STDOUTStream des linken Prozesses mit dem STDINStream des rechten Prozesses. Es klingt, als würde Ihr Programm an ausgeben STDERR.

Sie können STDERRan senden STDOUTund beides an die Pipe über:

program 2>&1 | more

verwandte Informationen