Receio que não exista regra: histórico de culpas.
Originalmente, o DOS e seus predecessores usavam /?
, enquanto o Unix usava -
como indicador de opção, pois /
era um separador de diretórios; já que o shell poderia expandir -?
em uma string diferente pela expansão do nome do arquivo, -h
se tornou a norma.
Até agora, tão comparativamente simples.
Em cmd
, muitos comandos mantêm a convenção /?
, mas os transcritos do Unix / Linux podem usar -h
, /h
ou /help
.
Enquanto isso, no Linux, alguns comandos tornaram-se tão abrangentes que a maior parte do alfabeto foi usada em opções, então o mais detalhado --
foi usado para opções, com o único -
retido como uma alternativa para o mais comum opções. E foi aí que os conflitos começaram: em comandos como ls
e du
, sentiu-se que -h
era melhor usado como sinônimo para o longo --human-readable
, já que era mais provável que ele fosse chamado com mais frequência do que ajuda.
Para complicar ainda mais, as versões de alguns programas do idioma local traduziram os parâmetros, para que em francês a opção de ajuda se torne -a
de aider ou assister , por exemplo.
Uma coisa que geralmente funciona é --
: esta é quase sempre uma opção inválida, e o programa geralmente reporta um erro e, em seguida, fornece a ajuda completa ou informa qual é a opção de ajuda.
Eu gostaria que fosse diferente, mas no final temos que trabalhar com o que está disponível, ou passar nossas vidas mantendo nossas próprias versões.