'-Tmp-'という名前のディレクトリに移動しようとしてcdコマンド叩いてみたら、
$ ls -l total 0 drwxr-xr-x 2 sugyan staff 68 2 16 14:09 -Tmp- $ cd -Tmp-/ -bash: cd: -T: invalid option cd: usage: cd [-L|-P] [dir]
となって困ったので、同じことで悩まぬようメモしとく。
touch, cd, mkdir などのコマンドで指定するファイル名、ディレクトリ名が'-'で始まる場合、オプション指定と解釈されてしまう。これはクォートしても意味が無いらしい。
$ cd '-Tmp-' -bash: cd: -T: invalid option cd: usage: cd [-L|-P] [dir]
じゃあどうすればいいんだろう、と本気でしばらく悩んだ。調べようにも調べ方が分からない。
色々やっているうちに簡単な解決策があることに気付いた。
$ cd ./-Tmp-
こうすりゃいいだけだった…
フルパス指定で操作しようとすればすぐに気付くことだったんだろうけど。
$ mkdir ./-hoge $ touch ./-fuga $ rm -rf ./-*
こうすれば普通のファイル名、ディレクトリ名を扱うのと同じように扱える。