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

Wie kann ich Exit-Codes für Anwendungen nachschlagen?

Ich habe Schwierigkeiten, eine umfassende aktuelle Liste mit Fehlercodes von Bash zu finden. zB:

$ udevadm info /dev/sdx; echo Exit code $?
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Exit code 4

Wie soll man solche Exit-Codes nachschlagen?

Akzeptierte Antwort:

tl;dr Exit-Codes sind anwendungsspezifisch.

Es gibt einige lockere Konventionen. false und alles erfolgreiche mit dem Präfix ! (wie ! true ) in POSIX-Shells geben den Exit-Code 1 zurück, aber ein Entwickler kann jeden Exit-Code zwischen 0 und 255 für beliebige Zwecke verwenden. Letztendlich müssen Sie sich die Dokumentation (im besten Fall) oder den Code (im schlimmsten Fall) ansehen, um zu wissen, was es bedeutet. Für Programme mit man Seiten Exit-Codes werden oft in einem Abschnitt namens EXIT STATUS aufgeführt (GNU-Tools wie find ).

Einige gängige Bedeutungen sind in /usr/include/sysexits.h aufgeführt – Ich versuche, sie wann immer möglich zu verwenden. Wie @AnsgarEsztermann betont, sind dies keine Bash-Referenzen oder gar Anwendungsreferenzen, außer für diejenigen, die sich dafür entscheiden (C/C++-Entwickler hauptsächlich gemäß ABS).


Linux
  1. So packen Sie Python-Anwendungen für Linux

  2. Bash-Befehlszeilen-Exit-Codes entmystifiziert

  3. Wie wertet Bash folgenden Code aus?

  4. So beenden Sie einen Docker-Container

  5. So aktivieren Sie Core-Dump für Anwendungen auf CentOS/RHEL

Bash Exit-Befehl und Exit-Codes

Flatpak-Apps sehen fehl am Platz aus? So wenden Sie GTK-Designs auf Flatpak-Anwendungen an

So drucken Sie eine QR-Code-Karte für die Verbindung zu Ihrem WLAN

So deinstallieren Sie WINE-Anwendungen

Wie kann ich Codeabdeckung für Swift-Pakete unter Linux oder OS X generieren?

Wie beende ich eine SSH-Verbindung?