GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeutet Echo $? Tun??

Für diese Frage gibt es hier bereits Antworten :Wie finde ich Exit-Codes für Anwendungen?

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


Linux
  1. Was macht Bamfdaemon?

  2. Was gibt malloc(0) zurück?

  3. Wofür steht 'cd-'?

  4. Was macht % in Linux-Shell-Strings?

  5. Was genau macht init?

Ursprung eines kworker-Threads

Was macht ulimit -s unlimited?

Was macht 'bash -c'?

Was ist die Verwendung von $ # in Bash

Was macht "set -x"?

Was macht kill -- -0?