Penso stdout, quindi puoi facilmente grep, cosa ne pensi?'app --help' dovrebbe andare a stdout o stderr?
risposta
Sempre stdout, rende più facile il tubo a meno, grep esso, ecc
Se si sta mostrando il testo di aiuto perché c'era un problema con l'analisi degli argomenti della riga di comando, allora si potrebbe utilizzare stderr.
Beh, (s) ha specificamente detto "app - help", quindi presumo che "--help" sia riconosciuto come argomento della riga di comando. –
Stavo solo suggerendo un caso in cui è possibile inviare aiuto a stderr –
Non è un errore, quindi direi stdout ....
Beh, è una richiesta esplicita di aiuto in modo che sia uscita. Se per qualche motivo non puoi inviare l'aiuto o l'utente erroneamente "aiuto", invia questo a errore :-)
Gli utenti che sanno cosa stanno facendo possono usare il infame "2>&1"
se vogliono errori sullo standard output.
Solo gli errori passano a stderr
. Questo non è in alcun modo un errore, fa esattamente ciò che l'utente aveva in mente, che è l'informazione sull'uso della stampa.
netcat è l'unica applicazione che posso pensare che reindirizza -h a stderr, e non posso per la vita di me capire perché.
Suppongo che se stai inviando le informazioni di aiuto perché qualcuno ha usato argomenti impropri, potresti voler reindirizzare a stderr, ma personalmente anche allora non utilizzerei stderr perché non penso che lo spamming registri errori con fullblown il testo di aiuto è utile - preferirei semplicemente emettere un singolo errore indicando che gli argomenti non erano validi per lo stderr. Se qualcuno sta chiamando esplicitamente la tua applicazione usando -h o --help, non dovresti davvero reindirizzare a stderr.
'stderr', ovviamente. È così che tutto in Unix lo si aspetta. – mirabilos