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