Eu já vi muitos tutoriais que usam um --
comando posterior. Algo assim:
command --
O que isso --
significa?
command-line
Jibril
fonte
fonte
Respostas:
A
--
é usado para indicar o final de opções de linha de comando. Isso permite que você use argumentos começando com--
. Por exemplo, se você criar um arquivo chamado--foo
:E, em seguida, tente excluí-lo,
rm
você achará que está argumentando:Uma maneira de contornar isso é usar
--
:Essa é uma prática comum e recomendada pelo POSIX , portanto é suportada por muitos programas.
fonte
rm
programa e de muitos utilitários POSIX. Consulte a Diretriz 10 . Para realmente verificar se Bash não está fazendo o trabalho (e isso não faria sentido), basta criar um pequeno script com justprintf '> %s <\n' "$@"
e iniciá-lo--
.--
, mas, é claro, isso é simplesmente porque o módulo Perl relevante (getopts
) também o suporta. Você está certo, procurei rapidamenteman bash
, vi a seção que havia citado, mas não percebi que estava na seção "opções de linha de comando". Obrigado pela correção, resposta editada.A maioria dos comandos usará a - para informar ao comando que parâmetros adicionais devem ser tratados de maneira diferente. Um exemplo é o rm - --filename mencionado acima. Outro exemplo, um script como 'startx' se interpretará tudo antes - e passará tudo depois para o servidor X.
fonte