単一ダッシュ「-」は単一文字オプションを表し、ダブルダッシュ「--」は単語を表します。

単一ダッシュ「-」は単一文字オプションを表し、ダブルダッシュ「--」は単語を表します。

文字に単一のダッシュを使用し、単語に二重ダッシュを使用するルールはどこから来たのですか?使い続けるのはなぜですか?

たとえば、と入力すると、次のようにls --help表示されます。

  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print octal escapes for nongraphic characters
      --block-size=SIZE      use SIZE-byte blocks
  -B, --ignore-backups       do not list implied entries ending with ~
...

私は- and -- convention引用符を使ってインターネットを検索しようとしましたが、ほとんど成功しませんでした。

ベストアンサー1

存在するUnixプログラミングの芸術Eric Steven Raymondは、この慣行の発展を次のように説明しています。

もともとUnixの伝統では、コマンドラインオプションは前にハイフンが来る単一の文字でした。もともとUnixスタイルは遅いASR-33テレタイプに基づいて開発されたので、簡潔さは利点です。 Shiftキーを押し続けるとかなりの労力が必要ですので、小文字を好み、オプションを有効にするには、「-」(おそらくより論理的な「+」の代わりに)を使用してください。

GNUスタイルは、前に2つのハイフンが続くオプションキーワード(キーワード文字の代わりに)を使用します。数年後、かなり複雑な一部のGNUユーティリティでは、単一文字オプションキーが不足し始めたときに開発されました(これは症状を和らげるだけで、基礎疾患を治療しません。)。 GNUオプションは古いアルファベットスープよりも読みやすいので、まだ人気があります。1

[1]http://www.catb.org/esr/writings/taoup/html/ch10s05.html

おすすめ記事