2009-07-01 20 views

Trả lời

5

Luôn stdout, làm cho nó dễ dàng hơn để ống xuống dưới, grep nó vv

Nếu bạn đang hiển thị văn bản trợ giúp bởi vì có một vấn đề với phân tích các đối số dòng lệnh, sau đó bạn có thể sử dụng stderr.

+0

Vâng, (s) ông đặc biệt nói "app --help" vì vậy tôi giả định rằng "--help" được công nhận là một đối số dòng lệnh. –

+0

Tôi vừa đề xuất trường hợp bạn có thể gửi trợ giúp cho người quản trị –

1

Nó không phải là một lỗi, vì vậy tôi muốn nói stdout ....

5

Vâng, đó là một yêu cầu rõ ràng để được giúp đỡ vì vậy nó đầu ra. Nếu vì một lý do nào đó bạn không thể đưa ra trợ giúp hoặc người dùng sai phép "trợ giúp" thì, bằng mọi cách, hãy gửi đến số lỗi :-)

Người dùng biết những gì họ đang làm có thể sử dụng khét tiếng "2>&1" nếu họ muốn lỗi trên đầu ra tiêu chuẩn.

10

Chỉ có lỗi đến stderr. Điều này là không có cách nào một lỗi, nó thực hiện chính xác những gì người dùng đã có trong tâm trí, đó là thông tin sử dụng in ấn.

-1

netcat là ứng dụng duy nhất tôi có thể nghĩ điều đó sẽ chuyển hướng -h thành stderr, và tôi không thể cho cuộc sống của tôi hiểu tại sao.

Tôi cho rằng nếu bạn xuất thông tin trợ giúp vì ai đó đã sử dụng các đối số không đúng, bạn có thể muốn chuyển hướng đến stderr, nhưng cá nhân tôi thậm chí sẽ không sử dụng stderr vì tôi không nghĩ rằng gửi nhật ký lỗi đầy đủ văn bản trợ giúp hữu ích - Tôi chỉ muốn xuất ra một lỗi duy nhất chỉ ra các đối số không đúng với stderr. Nếu ai đó đang gọi một cách rõ ràng ứng dụng của bạn bằng cách sử dụng -h hoặc --help, thì bạn thực sự không nên chuyển hướng nó đến stderr.

Các vấn đề liên quan