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?


  • Mod

    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


Log in to reply