Freqüentemente -- é usado na linha de comando para sinalizar para um programa que não haverá mais opções de comando disponíveis. Isso é particularmente útil se um arquivo contiver um traço, que o programa tentaria interpretar como uma opção.
-
Sem o
--, há um erro gerado:$ pdfgrep -i posix -find.pdf -xorg.pdf pdfgrep: invalid option -- 'f' pdfgrep: invalid option -- 'd' pdfgrep: invalid option -- '.' pdfgrep: invalid option -- 'p' pdfgrep: invalid option -- 'd' pdfgrep: invalid option -- 'f' -
Com o
--usado, temos um comando bem-sucedido:$ pdfgrep -i posix -- -find.pdf -xorg.pdf -find.pdf: on the command line. Currently-implemented types are emacs (this is the default), posix-awk, -find.pdf: posix-basic, posix-egrep and posix-extended. -find.pdf: posix-basic, posix-egrep and posix-extended. -find.pdf: posix-basic, posix-egrep and posix-extended. -
pdfgrepestá programado para entender--para indicar que os seguintes argumentos de linha de comando não são opções. A maioria dos programas faz o mesmo, mas nem todos os programas entendem--. Para programas que não o fazem, a solução é prefixar o nome do arquivo com./, assim:pdfgrep -i posix ./-find.pdf ./-xorg.pdfIsso deve funcionar com qualquer comando, a menos que, por algum motivo, o comando não possa aceitar um caminho, apenas um nome de arquivo puro.
Para uma introdução geral à linha de comando, consulte este PDF útil .