如何在 bash 中转义“-”

如何在 bash 中转义“-”

可能重复:
Unix 工具:如果文件的名称中缺少某些内容会怎样?

请告诉我如何摆脱这种情况:

[root@unix ~]# ./-sh
-bash:./-sh:权限被拒绝
[root@unix ~]# chmod +x -sh
chmod:无效模式:‘-sh’
尝试“chmod --help”获取更多信息。
[root@unix ~]#

答案1

使用--

例如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

相关内容