Bash-Programmierung: Rückgabewert eines Befehls auswerten

05.06.2012

Soll innerhalb eines Bash-Skriptes der Rückgabewert eines Befehls ausgewertet werden, so kann die Bash-Variable $? genutzt werden. Diese enthält immer den Rückgabewert des letzten Kommandos.

Ein Beispiel:

#!/bin/bash
ls /nonexistentdirectory/
if [ $? -ne 0 ]; then
  echo "error"
else
  echo "ok"
fi

Dieses Skript liefert „ok“, wenn das Verzeichnis existiert und „error“, wenn das Verzeichnis nicht existiert.

Natürlich kann man direkt nach Aufruf des Befehls eine Zuweisung durchführen:

[...]
ls /nonexistentdirectory/
v_returnvalue=$?
[...]

So kann man die Fehlermeldung weiterverarbeiten, denn nach dem nächsten Befehl enthält $? ja dann dessen Rückgabewert.


Ähnliche Themen im blog:
bash, skript


zurück