Saya tahu bahwa utilitas berperilaku baik seperti grep menampilkan pesan "normal" ke stdout, dan pesan kesalahan ke stderr.
$ grep '^foo' file1 file2
file1:foo
grep: file2: No such file or directory
Ketika saya sedang menulis skrip shell sendiri, saya sering kesulitan memutuskan output apa dan pesan mana yang harus saya tampilkan di stderr, atau jika saya harus repot-repot sama sekali.
Saya ingin tahu tentang praktik yang baik: Kapan mengarahkan beberapa pesan ke stderr diperlukan dan masuk akal, dan kapan tidak?
"Itu tergantung", tentu, tetapi apakah Anda memiliki wawasan yang akan membantu saya membuat keputusan ini?
Untuk membuat pertanyaan subyektif ini sesuai dengan formatnya, saya ingin mendorong jawaban yang membahas "mengapa", dan diinformasikan oleh pengalaman dan jika mungkin didukung oleh fakta.