MenüHomeBlogMagic

Einfacher Shell stop wenn ExitCode ungleich 0 ist

Um eine Shell zu unterbrechen wenn ein Fehler auftritt kann folgende Zeile einfach nach dem ausgeführten Programm eingefügt werden

if [ $? -ne 0 ]; then exit 1; fi

Wer nicht nur unterbrechen will, sondern auch den richtigen Fehler zurückgeben will kann folgendes benutzen.

ExitCode=$?; if [ $ExitCode -ne 0 ]; then exit $ExitCode; fi

Als Beispiel

mkdir TestDir
if [ $? -ne 0 ]; then exit 1; fi
cd TestDir
if [ $? -ne 0 ]; then exit 1; fi
cd ..
if [ $? -ne 0 ]; then exit 1; fi
rmdir TestDir
if [ $? -ne 0 ]; then exit 1; fi
cd TestDir
# Next line will generate error
ExitCode=$?; if [ $ExitCode -ne 0 ]; then exit $ExitCode; fi
echo "Error code not received"

Die ersten 4 Kommandos dienen nur als Beispiel und sollten nicht Fehlschlagen, Die Zeile unter dem Kommentar (# Next ...) wird den Fehler aus dem vorherigen cd erkennen und beenden.

Für das Gleiche Kommando in Windows siehe https://adirmeier.de/Blog/ID_378

Permalink: https://adirmeier.de/Blog/ID_379
Tags: Blog, bash, exitcode, Linux, sh, shellvon am 2021-07-29