GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Einzelne Bindestriche „-“ für Einzelzeichenoptionen, aber doppelte Bindestriche „–“ für Wörter?

Woher kommt die Konvention, einfache Bindestriche für Buchstaben und doppelte Bindestriche für Wörter zu verwenden, und warum wird sie weiterhin verwendet?

Zum Beispiel, wenn ich ls --help eingebe , sehen Sie:

  -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 ~
...

Ich habe versucht, - and -- convention zu googeln auch mit Anführungszeichen wenig Erfolg.

Akzeptierte Antwort:

In The Art of Unix Programming beschreibt Eric Steven Raymond, wie sich diese Praxis entwickelt hat:

In der ursprünglichen Unix-Tradition sind Befehlszeilenoptionen einzelne Buchstaben, denen ein einzelner Bindestrich vorangestellt ist … Der ursprüngliche Unix-Stil entwickelte sich auf langsamen ASR-33-Fernschreibern, die Knappheit zu einer Tugend machten; daher die Einzelbuchstabenoptionen. Das Gedrückthalten der Umschalttaste erforderte echte Anstrengung; daher die Bevorzugung von Kleinbuchstaben und die Verwendung von „-“ (statt des vielleicht logischeren „+“), um Optionen zu aktivieren.

Der GNU-Stil verwendet Optionsschlüsselwörter (statt Schlüsselwortbuchstaben), denen zwei Bindestriche vorangestellt sind. Es entwickelte sich Jahre später, als einigen der ziemlich ausgeklügelten GNU-Dienstprogramme die Einbuchstaben-Optionsschlüssel ausgingen (dies stellte einen Patch für das Symptom dar, kein Heilmittel für die zugrunde liegende Krankheit ). Es bleibt beliebt, weil GNU-Optionen einfacher zu lesen sind als die Buchstabensuppe älterer Stile.

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


Linux
  1. Top 5 Linux man-Befehlsoptionen zum Durchsuchen von Manpages

  2. Linux – Speichernutzung für einen einzelnen Linux-Prozess begrenzen?

  3. Umschließen eines Befehls mit einfachen und doppelten Anführungszeichen für einen anderen Befehl?

  4. Linux – Referenzen, aber für Linux?

  5. Make-Befehl für Windows - mögliche Optionen?

Wie man nach mehreren Zeichenfolgen, Mustern oder Wörtern sucht

Ungewöhnliche, aber nützliche GCC-Befehlszeilenoptionen

Installieren Sie das Windows-Subsystem für Linux mit einem einzigen Befehl

Begrenzen Sie die Speichernutzung für einen einzelnen Linux-Prozess

Regulärer Ausdruck zum Auffinden doppelter Zeichen in Bash

Dateisystem-Leistungsoptimierungsoptionen für ext3