GNU/Linux >> Linux の 問題 >  >> Linux

単一文字オプションの場合はシングルダッシュ`-`ですが、単語の場合はダブルダッシュ` –`?

文字に一点鎖線を使用し、単語に二点鎖線を使用するという慣習はどこから来たのですか、そしてなぜ継続して使用されるのですか?

たとえば、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をグーグルで検索してみました 引用がほとんど成功していなくても。

承認された回答:

The Art of Unix Programmingで、EricStevenRaymondがこの慣習がどのように進化したかを説明しています。

元のUnixの伝統では、コマンドラインオプションは1文字の前に1つのハイフンが付いています…元のUnixスタイルは、簡潔さを美徳にした低速のASR-33テレタイプで進化しました。したがって、1文字のオプション。 Shiftキーを押したままにすると、実際の作業が必要になります。したがって、小文字を優先し、オプションを有効にするために(おそらくより論理的な「+」ではなく)「-」を使用します。

GNUスタイルは、2つのハイフンが前に付いたオプションキーワード(キーワード文字ではなく)を使用します。それは数年後、かなり手の込んだGNUユーティリティのいくつかが1文字のオプションキーを使い果たし始めたときに進化しました(これは症状のパッチを構成し、基礎疾患の治療法ではありません )。 GNUオプションは、古いスタイルのアルファベットのスープよりも読みやすいため、人気があります。

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


Linux
  1. Linux –単一のLinuxプロセスのメモリ使用量を制限しますか?

  2. 別のコマンドの単一引用符と二重引用符を含むコマンドをラップしますか?

  3. シェルダブル対の良いニーモニックは何ですか。一重引用符?

  1. 単一のコマンドに対してBashでエイリアスを無効にする方法は??

  2. Linux –参照しかしLinuxの場合?

  3. Linux のダブル ドット (..) とシングル ドット (.) とは何ですか?

  1. fsck:最も徹底的なディスク チェックのオプション

  2. 単一のパイプ コマンドの pipefail の設定

  3. xargs --replace/-I 単一引数の場合