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).