Die meisten unixoiden Befehle bieten kurze und lange Alternativen für Befehlszeilenoptionen wie ls -a
und ls --all
, oder ls -A
und ls --almost-all
. Warum gibt es diese beiden Möglichkeiten? Einer ist kürzer zu tippen, der andere ist leichter zu lesen und zu verstehen. Aber jedes Mal, wenn ich ein Shell-Skript schreibe, muss ich entscheiden, welches ich verwenden möchte. Ist bekannt, warum es die beiden Alternativen gibt? Welches war zuerst, warum wurde das andere eingeführt. Unter DOS / Windows gibt es zum Beispiel fast nur Ein-Buchstaben-Optionen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird.
23
ls -BartSimpsonIsJustCool
Great
I
das Argument für die-I
Option, daher macht es nur dann einen Unterschied, wenn Sie eine DateisJustCool
im aktuellen Verzeichnis haben. Das-BartSimpson
Teil kann neu angeordnet werden, mit der Ausnahme, dass dasS
(nach Größe sortieren) nach demt
(nach Datum sortieren) bleiben muss . Hatm
auch keine Auswirkung wennn
odero
vorhanden sind. Der Befehl ist also gleichbedeutend mitls -BSainopsr
: Wenn ich nichts übersehen habe, können Sie keinen weiteren Buchstaben entfernen, um die gleiche Ausgabe zu erzielen, und Sie können diese Buchstaben frei neu anordnen.gzip -9 filename
zum Beispiel.Sie könnten vermuten, dass es Geschmackssache ist. Bei der Eingabe über die Befehlszeile kann eine kurze Option bevorzugt werden, insbesondere bei Run-Together-Optionen (z
ls -AL
. B. ). Die langen Optionen vermitteln die Absicht besser, sodass Sie beim Lesen nicht die Manpage zu Rate ziehen müssenls --almost-all --dereference
.Wenn Sie Erfahrung sammeln, werden Sie natürlich feststellen, dass sowohl die
-A
als auch die-L
Kurzoptionen hinreichend bekannt sind und diese zusätzliche Dokumentation nicht benötigen. Insbesondere in einem komplexen Befehl, der mehrere Befehle auf interessante Weise mit Auswertung, Umleitung usw. kombiniert. In einem solchen Fall ziehen Sie möglicherweise die Kürze der Dokumentation vor.quelle
Ein weiterer Grund für die Angabe von Parametern (kurz und lang) ist, dass Unix / Linux-Befehlszeilen-Benutzer bei der Eingabe so kurze Befehle wie möglich bevorzugen. Diese können jedoch kryptisch werden, und wenn ein Skript mit diesen Kurzversionen geschrieben wird, können sie später schwer zu verstehen sein. Die Verwendung der langen Version kann den SAME-Befehl für Personen, die nicht der Guru dieses Befehls sind, lesbarer und verständlicher machen , insbesondere wenn dieser Befehl tatsächlich ein lokal geschriebenes Skript ist, im Gegensatz zu einem bekannten Befehl.
quelle