O -- é usado para indicar o final das opções da 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 tente excluí-lo, rm pensará que você 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
Esta é uma prática comum e recomendada pelo POSIX , por isso é apoiada por muitos programas .