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