(2 Antworten)
Vor 2 Jahren geschlossen.
In meinem Terminal druckte es eine scheinbar zufällige Zahl 127
. Ich denke, es druckt den Wert einer Variablen und um meinen Verdacht zu überprüfen, habe ich eine neue Variable v=4
definiert . Ausführen von echo $?
gab mir wieder als Ausgabe.
Ich bin verwirrt, da ich erwartet hatte, dass 4 die Antwort ist.
Akzeptierte Antwort:
Von man bash
:
$? Erweitert auf den Exit-Status der zuletzt ausgeführten Vordergrund-Pipeline.
echo $?
gibt den Exit-Status des letzten Befehls zurück. Sie haben 127
das ist der Exit-Status des zuletzt ausgeführten Befehls, der mit einem Fehler beendet wurde (höchstwahrscheinlich). Befehle werden nach erfolgreichem Abschluss mit dem Exit-Status beendet (höchstwahrscheinlich). Der letzte Befehl gab die Ausgabe
aus seit dem
echo $v
auf der vorherigen Zeile ohne Fehler beendet.
Wenn Sie die Befehle ausführen
v=4
echo $v
echo $?
Sie erhalten die Ausgabe als:
4 (from echo $v)
0 (from echo $?)
Versuchen Sie auch:
true
echo $?
Sie erhalten .
false
echo $?
Sie erhalten 1
.
Das true
Der Befehl tut nichts, er wird nur mit einem Statuscode beendet; und der
false
Der Befehl macht auch nichts, er wird nur mit einem Statuscode beendet, der einen Fehler anzeigt (d.h. mit dem Statuscode 1
).