MenüHomeBlogMagic

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
Permalink: https://adirmeier.de/Blog/ID_344
Tags: Blog, bash, Linux, sh, shellvon am 2020-10-23