grepのような行儀の良いユーティリティは、stdoutに「通常の」メッセージを、stderrにエラーメッセージを出力することを知っています。
$ grep '^foo' file1 file2
file1:foo
grep: file2: No such file or directory
シェルスクリプトを自分で書いているとき、stderrにどの出力とメッセージを表示するか、または気にする必要があるかどうかを判断するのが難しいことがよくあります。
私は良い習慣について知りたいです:いつメッセージをstderrにリダイレクトするのが適切であり、そうでないのか?
「依存します」は確かですが、これらの決定を下すのに役立つ洞察はありますか?
この主観的な質問を形式に合うようにするために、「なぜ」に対処し、経験と可能であれば事実に裏打ちされた情報が得られる答えを奨励したいと思います。