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