Por que muitos aplicativos CLI aceitam um argumento “-”?

2

Eu vi muitas ferramentas de linha de comando que recebem um argumento "-". Por exemplo:

gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config

O que significa? Tem um significado especial?

    
por Olivier Lalonde 20.10.2012 / 15:54

2 respostas

6

Isso significa que a ferramenta deve parar de tratar o traço como um caractere opcional. Por exemplo, suponha que você queira procurar um caractere de traço em um arquivo:

grep -- - file

No seu exemplo, o -- é necessário porque a ferramenta gem está chamando outra ferramenta, que também usa opções com prefixo de traço.

    
por 21.10.2012 / 07:08
4

Essa é uma prática comum quando um programa, que usa opções longas, precisa chamar outro programa que também tenha opções longas. Ele sinaliza ao primeiro programa para parar as opções de análise e passar o restante, inalterado, para o sub-processo que ele invoca.

    
por 21.10.2012 / 06:56