Linux shell script abbrechen bei Fehler
Oft hat man für seine Aufgaben kleine Shell Skripte geschrieben die einem auf die schnelle was einrichten, oder einfach nur Jobs erledigen.
In einigen solcher Skripten hängen Befehle von einander ab. So kann man z.B. nur schwer mit cd in einen Ordner wechseln wenn der mkdir Befehl vorher gescheitert ist.
Durch das ausführen des Kommandos set -e wird das Script sofort unterbrochen wenn ein Befehl nicht mit dem Return-Wert 0 zurück kommt.
Beispiel
set -e
apt-get -y update
apt-get -y upgrade
Wenn dieses Script ohne Root-Rechte ausgeführt wird, dann bricht das Script beim ersten apt-get Befehl ab.
Tipps
Einige Fallstricke sollten beachtet werden wenn man das Flag setzt. In dieser Fortlaufenden Liste möchte ich auf die für mich häufigsten Probleme hinweisen. Die List wird immer wieder aktuallisiert.
mkdir
Bei Mkdir sollte ein -p als argument übergeben werden, da diese sonst einen Fehler ausgibt wenn der Ordner existiert. Da die Ordner aber oft nur erstellt werden weil diese noch nicht existieren ist das sehr häufig der Fall. Beispiel:
mkdir -p /etc/openvpn