Giuseppe Scrivano venit, vidit, dixit 17.05.2010 11:48:
Hello,
I have noticed that the -h flag uses stderr to print the usage string,
is there any reason for it?
As a general rule, regular output goes to stdout and error reports to
stderr.
Now, usage messages are displayed on specific request (-h) as well as
when a command is used with wrong arguments. So the classification
depends on the use case! But I reckon that even with '-h', usage strings
are not exactly "regular output", so stderr looks more natural to me.
More importantly, callers expect error messages on stderr, such as usage
with wrong arguments. I don't think scripts would call commands with
'-h', and if they do they do so on purpose and can parse stderr, knowing
there is no stdout in this case.
Michael
P.S.: I guess this means NACK from me FWIIW.
The small patch I have attached changes -h to print on stdout.
Thanks,
Giuseppe