Como se chama `--`?

23

Recentemente, soube --que o hífen duplo é usado para dizer a um comando que a lista de opções terminou e o que se segue não deve ser considerado uma opção. Tão,

grep --  'search_word' *

procuraria o dado search_word. Mas você pode ver um comportamento inesperado se você remover --e se houver um único arquivo que comece com -, o que ativaria a opção que corresponde aos caracteres no nome do arquivo .

Como se --chama isso ? Existe algum termo técnico para isso?

mtk
fonte
3
Veja o debate sobre Por que os unix-heads dizem "menos"? depois dobre.
manatwork
@manatwork Não, quadrado! Deveríamos dizer "menos traço" ou "traço menos"?
Gilles 'SO- stop be evil'
Acabei de pronunciar "-".
dubiousjim
Encontro regularidade cd --e cd -fenômenos. enquanto cd --significa essencialmente justo cde, assim, mudar para o seu $HOME, cd -significa colocar-se no diretório anterior. Isso se torna útil quando você deseja, cd ..mas como no layout do teclado alemão, eu o misturo com frequência cd --. cd -irá colocá-lo de volta. : D
math

Respostas:

15

O --está trabalhando para obter ferramentas que uso getopt(3)de argumentos de linha de comando do processo e muitos API que as opções de estilo de análise POSIX.

Na página do manual de getopt(3):

A interpretação das opções na lista de argumentos pode ser cancelada pela opção `- '(traço duplo) que faz com que getopt () sinalize o final do processamento do argumento e retorne -1.

Eu diria que é chamado traço duplo

Matteo
fonte
Mas aposto que há algum termo linguístico para isso.
22712 Rob
3
O getopt não é a única API que suporta "-". A maioria das APIs que analisam as opções de estilo POSIX na maioria dos idiomas é compatível. Todos os utilitários POSIX, mas echoe [apoiá-lo
Stéphane Chazelas
@StephaneChazelas Obrigado Eu editei a resposta
Matteo
5

Os únicos dois nomes mencionados na prática são "traço duplo" por se referir a ele esteticamente e "fim de opções" por se referir a ele funcionalmente .

Chris Down
fonte
Eu já vi isso referido como 'última opção'.
Tim Kennedy