Tôi biết rằng các tiện ích hoạt động tốt như grep xuất các thông báo "bình thường" sang thiết bị xuất chuẩn và thông báo lỗi cho thiết bị lỗi chuẩn.
$ grep '^foo' file1 file2
file1:foo
grep: file2: No such file or directory
Khi tôi tự viết kịch bản shell, tôi thường khó quyết định đầu ra nào và thông điệp nào tôi nên trình bày trên stderr, hoặc liệu tôi có nên bận tâm gì không.
Tôi muốn biết về thực hành tốt: Khi nào chuyển hướng một số tin nhắn đến stderr được gọi là hợp lý và khi nào thì không?
"Nó phụ thuộc", chắc chắn, nhưng bạn có một số hiểu biết sẽ giúp tôi đưa ra những quyết định này?
Để làm cho câu hỏi chủ quan này phù hợp với định dạng, tôi muốn khuyến khích các câu trả lời giải quyết "lý do" và được thông báo bằng kinh nghiệm và nếu có thể được hỗ trợ bởi các sự kiện.