Die Linux/GNU-Befehlszeilenschnittstelle folgt dem POSIX-Standard. Dies wird von GNU in ihren Standards vermerkt:http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html.
Die Befehlszeilensyntax ist ebenfalls Teil der Single Unix Specification, obwohl --long-options eine GNU-Innovation IIRC sind.
Siehe hier:http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
Aber ja, dieser Standard ist als getopt implementiert.
Eine kurze Zusammenfassung des Threads:
-
Ihre CLI sollte zusätzlich zu der Fehlermeldung, falls vorhanden, Hilfe bei fehlenden oder falschen Parametern anzeigen.
-
Sie sollten
-
verwenden für ein Einzelbuchstaben-Flag oder eine Option und--
für eine lange Option, zum Beispiel-a
und--all
-
Alle Programme sollten zwei Standardoptionen unterstützen:
-v
--version
und-h
--help
.-h
und--help
=> Nutzungsmeldung geben und beenden-v
und--version
=> Programmversion anzeigen und beenden
Siehe die Links (IEEE und GNU getopt) in dieser Antwort https://stackoverflow.com/a/8957246
Im Allgemeinen ja.
- IEEE
- GNU-getopt
ESR hat dazu in seinem Buch „The Art of UNIX Programming“ viele Informationen gesammelt. Hier ist ein Ausschnitt.
-a
Alle (ohne Argument). Wenn es eine Option --all im GNU-Stil gibt, wäre es ziemlich überraschend, dass -a alles andere als ein Synonym dafür wäre. Beispiele:fuser(1), fetchmail(1).
Anhängen, wie in tar(1). Dies wird oft mit -d für Löschen gepaart.
-b
Puffer- oder Blockgröße (mit Argument). Stellen Sie eine kritische Puffergröße oder (in einem Programm, das mit der Archivierung oder Verwaltung von Speichermedien zu tun hat) eine Blockgröße ein. Beispiele:du(1), df(1), tar(1).
Charge. Wenn das Programm von Natur aus interaktiv ist, kann -b verwendet werden, um Eingabeaufforderungen zu unterdrücken oder andere Optionen einzustellen, die geeignet sind, Eingaben von einer Datei statt von einem menschlichen Operator zu akzeptieren. Beispiel:flex(1).
-c
Befehl (mit Argument). Wenn das Programm ein Interpreter ist, der normalerweise Befehle von der Standardeingabe entgegennimmt, wird erwartet, dass ihm die Option eines Arguments -c als einzelne Eingabezeile übergeben wird. Diese Konvention gilt besonders für Shells und Shell-ähnliche Interpreter. Beispiele:sh(1), ash(1), bsh(1), ksh(1),python(1). Vergleiche -e unten.
Check (ohne Argument). Überprüfen Sie die Korrektheit der Dateiargumente für den Befehl, führen Sie jedoch keine normale Verarbeitung durch. Wird häufig als Option zur Syntaxprüfung von Programmen verwendet, die Befehlsdateien interpretieren. Beispiele:getty(1), perl(1).
Die vollständige Liste finden Sie unter http://catb.org/~esr/writings/taoup/html/ch10s05.html