行儀が悪いというか、あまり作ることはないと思うのだが、コンソール上で『-~』で始まるファイルを扱う場合。こういったファイルの場合、ただ単にシングルクォーテーション・ダブルクォーテーションで括ってやっても駄目だったりする。
こういったファイルをコンソール上で扱う場合、大体のコマンドでは以下のように二重ハイフンを付与することで対応できる。
コマンド -- ファイルPATH
[root@BS-PUB-CENT7-01 ~]# touch -test touch: `est': 無効な日付の書式です [root@BS-PUB-CENT7-01 ~]# touch "-test" touch: `est': 無効な日付の書式です [root@BS-PUB-CENT7-01 ~]# touch '-test' touch: `est': 無効な日付の書式です [root@BS-PUB-CENT7-01 ~]# [root@BS-PUB-CENT7-01 ~]# touch -- '-test' [root@BS-PUB-CENT7-01 ~]# ls -la -- -test -rw-r--r--. 1 root root 0 3月 12 20:26 -test [root@BS-PUB-CENT7-01 ~]# [root@BS-PUB-CENT7-01 ~]# rm -test rm: 無効なオプション -- 't' Try 'rm ./-test' to remove the file `-test'. Try 'rm --help' for more information. [root@BS-PUB-CENT7-01 ~]# rm -- -test rm: 通常の空ファイル `-test' を削除しますか? y [root@BS-PUB-CENT7-01 ~]# ls -la -- -test ls: -test にアクセスできません: そのようなファイルやディレクトリはありません
![[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus)](http://images-fe.ssl-images-amazon.com/images/I/41i956UyusL._SL160_.jpg)