Se il messaggio d'uso è stampato con es
command -?
di un comando Unix vai su stderr o stdout, e perché? Dovrebbe andare nello stesso posto se l'utente commette un errore con un'opzione?
touch -- -l; ls -?- in realtà ottieni una lunga lista come se fossi passato -la ls.
-hun'opzione diversa da un messaggio di aiuto, allora '-?'(con le virgolette) o -:ti dà una buona possibilità di ottenere un messaggio di errore (e utilizzo) dal :e ?non possono essere opzioni valide per qualsiasi utilizzo getopt(3).