web-dev-qa-db-ja.com

bashで「-」をエスケープする方法

重複の可能性:
nixツール:ファイルにマイナスの名前が付いている場合はどうなりますか?

これを回避する方法を教えてください:

 [root @ unix〜]#./-sh
-bash:./-sh:Permission denied 
 [root @ unix〜]#chmod + x -sh 
 chmod:無効なモード: `-sh '
詳細については、` chmod --help'を試してください。
 [root @ unix〜]#
14
soundhax

使用する --

例えば。 chmod +x -- -sh。 GNU言語で--はオプションの終わりを意味するので、-shはオプションとして解析されなくなりました。

[編集]例を追加しました:

 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 
24
Hennes