Eu já vi muitos tutoriais que usam um --comando posterior. Algo assim:
command --
O que isso --significa?
Eu já vi muitos tutoriais que usam um --comando posterior. Algo assim:
command --
O que isso --significa?
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:
$ > '--foo'
$ ls
--foo
E, em seguida, tente excluí-lo, rmvocê achará que está argumentando:
$ rm --foo
rm: unrecognized option '--foo'
Try 'rm ./--foo' to remove the file '--foo'.
Try 'rm --help' for more information.
Uma maneira de contornar isso é usar --:
$ rm -- --foo
Essa é uma prática comum e recomendada pelo POSIX , portanto é suportada por muitos programas.
rmprograma 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 just printf '> %s <\n' "$@"e iniciá-lo --.
--, mas, é claro, isso é simplesmente porque o módulo Perl relevante ( getopts) também o suporta. Você está certo, procurei rapidamente man 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.