Standards für Kommandozeilenparameter?



  • Guten Abend

    Mich würd interessieren, ob es für die Kommandozeilenparameter einen Standard für Linux gibt.
    Denn meist sind die ja ähnlich aufgebaut ( -o <pfad> oder --operatingdir=<pfad> ) und bei --help werden die ja aufgelistet. Gibt es dafür und für die Auswertung der Argumente bereits templates oder Source Code Stückchen? Oder gibt es eine Dokumentation zu den Standards?

    Danke schonmal im Voraus
    und Grüsse
    :xmas2:



  • nö, da gibt es keine allgemeinen Standards. Vielleicht haben die GNU und BSD-Leute irgend etwas eigenes. Zumindest ist --foo glaube ich GNU-style.



  • Ok, danke.
    Dann werd ich mich an den vermeintlichen GNU Style halten.



  • THX 1138 schrieb:

    Dann werd ich mich an den vermeintlichen GNU Style halten.

    Normalerweise unterstützt man beides, was mit den passenden Libs auch kaum ein Problem darstellt.

    ESR hat in TAOUP ein paar ganz nette Absätze zu CLI-Konventionen geschrieben.



  • THX 1138 schrieb:

    Guten Abend

    Mich würd interessieren, ob es für die Kommandozeilenparameter einen Standard für Linux gibt.
    Denn meist sind die ja ähnlich aufgebaut ( -o <pfad> oder --operatingdir=<pfad> ) und bei --help werden die ja aufgelistet. Gibt es dafür und für die Auswertung der Argumente bereits templates oder Source Code Stückchen? Oder gibt es eine Dokumentation zu den Standards?

    Danke schonmal im Voraus
    und Grüsse
    :xmas2:

    Hi,

    die Langform der Optionen mit --blah sind GNU-style. Die Kurzform ist Unix-style. Wobei der GNU-style eine Obermenge des Unix-, bzw. Posix-styles ist. Das sind allerdings alles nur allgemeine Konventionen, die aber auch durch Standardfunktionen unterstützt werden. Zur Auswertung von Optionen gibt es die Funktion getopt(3). Das ist eine C-Funktion.

    Ich habe mir selbst mal eine C++-Template-Klasse geschrieben, die mir die Verarbeitung von Optionen erleichtert. Du findest diese Klasse in meinen cxxtools. Da es ein Template ist, reicht Dir sogar nur der Header unter http://www.tntnet.org/download/cxxtools-1.4.3.1/include/cxxtools/arg.h.

    Gruß

    Tntnet



  • Hey danke euch, das bringt mich weiter 👍


Anmelden zum Antworten