Programm-Parameter die nicht standard-konform sind?
-
Mir ist da etwas aufgefallen, vielleicht weiß jemand eine Erklärung dazu.
Unix-Parameter von Programmen/Utilities/Tools haben ja immer das Minus. Beispiel:
$ util -o
GNU-Parameter haben immer zwei Minus, weil die Einbuchstaben-Parameter mit einem Minus irgendwann ausgegangen sind, bzw. der Kurzschreibweise für häufigste Parameter vorbehalten sind.
$ util --option $ util -o
Aber kann es sein, das sich vermehrt Programme diesem Muster verweigern? Mir ist das jetzt bei Git aufgefallen (und anderen Programmen). Git kommt ja immerhin vom Linux-Erfinder.
Gibts da Gründe für die Inkonsistenz?
-
Bei git ist die Idee, dass die ganzen verschiedenen Kommandos eben das sind: Verschiedene Kommandos. Und die haben dann jeweils wieder ihre eigenen Optionen und diese halten sich dann ja auch an die übliche Konvention.
Wenn du an
ps
denken solltest: Historische Gründe. Die am weitesten verbreitete Version ist eine Zusammenfassung mehrerer Vorgängerversionen, eine davon von BSD und bei BSD ist es üblich, Optionen nicht mit einem Dash zu starten.
-
Aha, verstehe. Also anstatt:
$ gitdiff --staged
ist es so gelöst:
$ git diff --staged
Anstatt mehrere kleine git-Programme (gitclone, gitdiff usw.), wurde alles in einem git-Programm gepackt.
-
Glaube frueher waren das einzelne Programme wie git-status, git-..., die dann von git gestartet wurden.
Das funktioniert uebrigens immer noch: Mit einem Script namens git-hello im $PATH funktioniert auch der Aufruf $ git hello