Die Frage ist ziemlich einfach. Ich kann den Beendigungscode des vorherigen Befehls abrufen, indem ich $?
verwende . Aber was genau ist das?
Ich glaube nicht, dass es sich um eine Variable handelt, da Sie keine Sonderzeichen im Namen der Variablen außer _
haben dürfen .
foo?foo=10
führt zu folgendem Fehler:foo?foo=10: command not found
Wenn es also keine Variable ist, was ist es dann? Gibt es andere wie es?
Akzeptierte Antwort:
Was ist das?
$?
ist eine eingebaute Variable, die den Exit-Status eines Befehls, einer Funktion oder des Skripts selbst speichert.
$?
liest den Exit-Status des zuletzt ausgeführten Befehls. Nachdem eine Funktion zurückgegeben wird, $?
gibt den Exit-Status des letzten in der Funktion ausgeführten Befehls an. Das ist Bashs Art, Funktionen einen „Rückgabewert“ zu geben. Es gibt zurück bei Erfolg oder eine Ganzzahl im Bereich
1 - 255
auf Fehler.
Gibt es andere auch?
Ja, es gibt mehrere solcher eingebauten Variablen in Bash. Eine Liste finden Sie hier.
Siehe:http://www.tldp.org/LDP/abs/html/exit-status.html