Você pode evitar que sistemas compatíveis com POSIX interpretem travessões em comandos adicionando --
antes de qualquer argumento.
mtak@frisbee:~$ alias grep=grep --color=always
mtak@frisbee:~$ alias | grep color
alias --color='always'
mtak@frisbee:~$ unalias -- --color
mtak@frisbee:~$ alias | grep color
mtak@frisbee:~$
Isso também funciona com outros utilitários, digamos que você tenha um arquivo chamado -bla
. Se você tentar removê-lo com rm
, receberá o seguinte erro:
mtak@frisbee:~$ ls -- -bla
-bla
mtak@frisbee:~$ rm -bla
rm: invalid option -- 'b'
Try 'rm ./-bla' to remove the file '-bla'.
Try 'rm --help' for more information.
Usando --
antes do nome do arquivo, você removerá o arquivo:
mtak@frisbee:~$ rm -- -bla
mtak@frisbee:~$ ls -- -bla
ls: cannot access '-bla': No such file or directory