Я думаю, stdout, так что вы можете легко grep, что вы думаете?
'app --help' должен идти в stdout или stderr?
Ответ 1
Только ошибки идут в stderr
. Это никоим образом не является ошибкой, она делает именно то, что имел в виду пользователь, который является информацией об использовании печати.
Ответ 2
Всегда stdout, упрощает трафик на меньшее, grep и т.д.
Если вы показываете текст справки, потому что возникла проблема с разбором аргументов командной строки, вы можете использовать stderr.
Ответ 3
Ну, это явный запрос на помощь, чтобы он выводил. Если по какой-то причине вы не можете выдать помощь или пользователь неправильно произносит "помощь", то, непременно, отправьте это на ошибку: -)
Пользователи, которые знают, что делают, могут использовать печально известный "2>&1"
, если им нужны ошибки на стандартном выходе.
Ответ 4
Это не ошибка, поэтому я бы сказал stdout....
Ответ 5
netcat - единственное приложение, которое я могу думать о том, что будет перенаправлять -h на stderr, и я не могу для жизни понять, почему.
Я предполагаю, что если вы выводите справочную информацию, потому что кто-то использовал неправильные аргументы, вы можете перенаправить ее на stderr, но лично даже тогда я бы не использовал stderr, потому что я не думаю, что журналы спам-сообщений с полной поддержкой текст полезен - я бы скорее просто вывел одну ошибку, указав, что аргументы были искажены для stderr. Если кто-то явно вызывает ваше приложение с помощью -h или --help, вы действительно не должны перенаправлять его на stderr.