GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Stellen Sie fest, ob die Ausgabe stdout oder stderr ist

Mir sind nur drei Möglichkeiten bekannt, um zu bestimmen, was ein Programm an STDOUT und was an STDERR

ausgibt
  1. Lesen Sie die Dokumentation. Oder

  2. Experimentieren Sie mit der Weiterleitung†

  3. Drucken Sie STDERR in Rot

†Zum Beispiel:

program > program.stdout 2> program.stderr

Sehen Sie sich dann die beiden Ausgabedateien an, um zu sehen, was das Programm in STDOUT und was es in STDERR geschrieben hat.

Anstelle einer Umleitung können Sie auch zu tee leiten wenn Sie eine Ausgabe sowohl auf dem Bildschirm als auch in einer Datei benötigen. Siehe https://stackoverflow.com/q/692000/477035


Basierend auf Ihrer kommentierten Anfrage:

{ { command; } 2>&3 | sed 's/^/STDOUT: /'; } 3>&1 1>&2 | sed 's/^/STDERR: /'

Linux
  1. Was ist mit der Verbindung von Stdout und Stdin gemeint?

  2. Gehören Fortschrittsberichte/Protokollierungsinformationen zu Stderr oder Stdout?

  3. Nur Stderr auf dem Bildschirm anzeigen, aber sowohl Stdout als auch Stderr in Datei schreiben?

  4. Wie leite ich stderr und stdout in verschiedene Dateien in derselben Zeile im Skript um?

  5. Bestimmen Sie, ob relativer oder absoluter Pfad im Shell-Programm

So leiten Sie stderr in Bash auf stdout um

Was ist Bonjour auf meinem Computer? PC-Leitfaden für das Windows 10 Bonjour-Programm

Was ist „/dev/null 2&1“ unter Linux

Leiten Sie die gesamte Ausgabe in eine Datei in Bash um

Echo sowohl an stdout als auch an stderr

Was gibt pwd aus?