私はいつも不思議に思っています。ほとんどのGNU / Unixツールは、「マイナスの何か」の形でオプションを取り、時には引数が続きます。もし何かマイナスの名前のファイルを手に入れたら?
$ ls
-f
$ rm -f
$ ls
-f
$ mv -f abc
mv: missing destination file operand after `abc'
Try `mv --help' for more information.
$ cat -f
cat: invalid option -- 'f'
Try `cat --help' for more information.
または
$ ls
-ohello.c
$ gcc -ohello -ohello.c
gcc: fatal error: no input files
compilation terminated.
これは好奇心から外れたものです。これの使用例はありません。
文字列 "-f"を文字通りシステムコールに渡す方法を見つける必要があります。通常、それは慎重な脱出によるものです。
—
フレキソ、2012年
「トピックから外れているため」の投票者へ:これはシェルプログラミングと問題を回避する方法に関する質問です。それは完全にSOの話題です。(OTOH、おそらく重複しています。問題は関連する他の質問を見つけることです。)
—
ジョナサンレフラー