Ich weiß, dass gut erzogene Dienstprogramme wie grep "normale" Nachrichten an stdout und Fehlermeldungen an stderr ausgeben.
$ grep '^foo' file1 file2
file1:foo
grep: file2: No such file or directory
Wenn ich selbst Shell-Skripte schreibe, fällt es mir oft schwer zu entscheiden, welche Ausgabe und welche Nachrichten ich auf stderr präsentieren soll oder ob ich mich überhaupt darum kümmern soll.
Ich würde gerne etwas über bewährte Praktiken erfahren: Wann ist die Weiterleitung einer Nachricht an stderr erforderlich und sinnvoll, und wann nicht?
"Es kommt darauf an", klar, aber haben Sie einige Einsichten, die mir helfen würden, diese Entscheidungen zu treffen?
Um diese subjektive Frage auf das Format abzustimmen, möchte ich zu Antworten ermutigen, die das "Warum" ansprechen und durch Erfahrung und wenn möglich durch Fakten untermauert sind.