如何在bash中转义“-”

sou*_*hax 15 bash escape-characters

可能的重复:
Unix 工具:如果一个文件的名字减去一些东西怎么办?

请告诉我如何逃避这个:

[root@unix ~]# ./-sh
-bash: ./-sh: 权限被拒绝
[root@unix ~]# chmod +x -sh
chmod:无效模式:`-sh'
试试 `chmod --help' 以获得更多信息。
[root@unix ~]#

Hen*_*nes 26

使用--.

例如chmod +x -- -sh。在 GNU 语言中,这--意味着选项结束,因此-sh不再被解析为选项。

[编辑] 添加示例:

甲虫:/home/hennes/test>touch -- -sh

甲虫:/home/hennes/test>ls -l -- -sh
-rw------- 1 hennes 用户 0 2013-01-04 17:20 -sh

甲虫:/home/hennes/test>chmod +x -- -sh

甲虫:/home/hennes/test>ls -l -- -sh
-rwx------ 1 hennes 用户 0 2013-01-04 17:20 -sh