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