Como escapar “-” no bash [duplicado]

7

Por favor, me diga como escapar disso:

[root@unix ~]# ./-sh
-bash: ./-sh: Permission denied
[root@unix ~]# chmod +x -sh
chmod: invalid mode: '-sh'
Try 'chmod --help' for more information.
[root@unix ~]#
    
por soundhax 04.01.2013 / 17:15

1 resposta

10

Use -- .

Por exemplo %código%. Na linguagem GNU, o chmod +x -- -sh significa o final das opções, portanto, -- não é mais analisado como uma opção.

[Editar] Exemplo adicionado:

beetle:/home/hennes/test>touch -- -sh

beetle:/home/hennes/test>ls -l -- -sh
-rw------- 1 hennes users 0 2013-01-04 17:20 -sh

beetle:/home/hennes/test>chmod +x -- -sh

beetle:/home/hennes/test>ls -l -- -sh
-rwx------ 1 hennes users 0 2013-01-04 17:20 -sh
    
por 04.01.2013 / 17:18