2009-07-01 1 views

ответ

5

Всегда стандартный вывод, облегчает трубы меньше, Grep, и пр

Если вы показываете текст справки, потому что там была проблема с разбора аргументов командной строки, то вы можете использовать стандартный поток ошибок.

+0

Ну, (а) он специально сказал «app -help», поэтому я предполагаю, что «-help» распознается как аргумент командной строки. –

+0

Я просто предлагаю случай, когда вы можете отправить помощь stderr –

1

Это не ошибка, так что я бы сказал, что стандартный вывод ....

5

Ну, это явный запрос о помощи, так что это выход. Если по какой-то причине вы не можете выдать помощь или пользователь неправильно произносите «помощь», то, непременно отправьте это сообщение . :-)

Пользователи, которые знают, что они делают, могут использовать печально известный "2>&1", если они хотят ошибок на стандартном выходе.

10

Только ошибки относятся к stderr. Это никоим образом не является ошибкой, она делает именно то, что имел в виду пользователь, который является информацией об использовании печати.

-1

netcat - единственное приложение, которое я могу придумать, чтобы перенаправить -h на stderr, и я не могу для жизни понять, почему.

Я полагаю, что если вы выводите справочную информацию, потому что кто-то использовал неправильные аргументы, вы можете перенаправить его на stderr, но лично даже тогда я бы не использовал stderr, потому что я не думаю, что журналы спам-ошибок с fullblown полезный текст полезен - я бы скорее просто вывел одну ошибку, указав, что аргументы были искажены для stderr. Если кто-то явно вызывает ваше приложение с помощью -h или --help, вам действительно не следует перенаправлять его на stderr.

Смежные вопросы