シェルスクリプトでハイフンを2つ繋げた'--'の意味を最近はじめて知りました。これはオプションの打ち止めを意味します。
たとえばtouch
コマンドで-h
という空ファイルを作成しようとして
$ touch -h
とすると、-h
がtouch
コマンドのオプションとして解釈されてしまうため、下記のようにエラーが出てしまいます。
$ touch -h touch: ファイルオペランドがありません Try 'touch --help' for more information.
ここで--
の出番です。--
の後ろにある文字列はtouch
のオプションではないことを明示できるので、以下のようにすることで-h
という名前の空ファイルを生成できます。
$ touch -- -h
- 参考