2014-01-07 4 views
6

Was ist die Bedeutung von Exit-Status 1 von Linux-Befehl zurückgegeben? Wie 127 Exit Status zeigt "Befehl nicht gefunden".Bedeutung von Exit-Status 1 zurückgegeben von Linux-Befehl

Ich habe http://linux.die.net/abs-guide/exitcodes.html Seite besucht, bedeutet es, Ausgangsstatus 1 hat keine besondere Bedeutung?

+0

Das ABS-Link ist verwirrt. Diese Exit-Codes sind nicht "reserviert" und die Tabelle ist eine glückliche betrunkene Mischung aus Bash-interner Nutzung, allgemeinen Unix-Konventionen und der lautstarken Meinung des Autors. – tripleee

+0

Siehe auch http://StackOverflow.com/questions/36530696/linux-how-to-get-error-description-by-error-number/36566055#36566055 – tripleee

Antwort

11

Die einzige allgemeine Konvention besagt, dass ein Null-Exit-Status einen Erfolg bedeutet, während ein Nicht-Null-Exit-Status ein Fehler ist.

Viele - aber sicher nicht alle - Befehlszeilenprogramme geben Exitcode 1 für Syntaxfehler zurück, d. H. Sie hatten zu wenige Argumente oder eine ungültige Option.

Viele - aber leider nicht alle - Befehlszeilenwerkzeuge haben eine manual page. Per Konvention sollte es die Exit-Codes des Programms dokumentieren, viele aber nicht.

4

Sie können den Wert des Exit-Status mit man sehen.

ein Beispiel geben unter:

man ls 

für String suchen Jetzt Ausfahrt

Hinzufügen Screenshot unten:

enter image description here

+0

Als Triplee gepostet nicht alle Man-Seite des Kommandos dokumentierte Exit-Codes. Ich habe Probleme mit dem Exit-Status für den Befehl msgfmt, die Manpage ist nicht über Exit-Codes dokumentiert. – user2664054

+0

[msgfmt.c] (http://git.savannah.gnu.org/cgit/gettext.git/tree/gettext-tools/src/msgfmt.c) scheint das generische [EXIT_FAILURE] zu verwenden (https: // www.gnu.org/software/libc/manual/html_node/Exit-Status.html) in praktisch jeder Fehlersituation. Es würde eine Fehlermeldung geben, die Ihnen sagt, was falsch gelaufen ist. – tripleee