GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es Standards für Linux-Befehlszeilenschalter und -argumente?

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


Linux
  1. 8 Tipps für die Linux-Kommandozeile

  2. 10 Linux-Befehls-Tutorials für Anfänger und Experten

  3. Befehlszeilenargumente an Bash-Skript übergeben?

  4. Beispiele für C argc und argv zum Analysieren von Befehlszeilenargumenten

  5. Oberster Linux-Befehl:Was sind us, sy, ni, id, wa, hi, si und st (für die CPU-Auslastung)?

5 interessante Kommandozeilen-Tipps und Tricks in Linux – Teil 1

10 nützliche Linux-Kommandozeilen-Tricks für Neulinge – Teil 2

Linux Uniq Command Tutorial für Anfänger (10 Beispiele)

Micro – Ein befehlszeilenbasierter Texteditor für Linux

Tutorials und Beispiele für Linux Head-Befehle für Anfänger

19 Nützliche Tipps und Tricks für die Linux-Befehlszeile