Linux-Workshop

Shell Scripting - Abläufe automatisieren

Shell-Skript

Der Grundaufbau eines Shell-Skripts sollte bei Meldungen den Namen den Skripts mit ausgeben und vor allem einen gültigen Exit-Wert:

> ME=$(basename $0); echo "$ME: Problem .."

Wie uns

> true ; echo $? ; false ; echo $?

verdeutlicht, steht der Wert "0" für eine erfolgreiche Ausführung, jeder andere Wert wäre nicht erfolgreich. Für die Shell steht "$? " für den letzten Exit-Wert eines Kommandos.

Wenn das erste Skript bei der Eingabe des Namens von der Shell nicht ausgeführt wird, kann dies mittels "bash myscript.sh" erreichen, oder man gibt dem Skript die für eine Ausführung nötigen Rechte per "chmod u+x myscript.sh". Als Superuser/ ROOT (UID=0) scheint die Shell das Script nocht oft nicht zu finden, obwohl dieses im aktuellen Verzeichnis vorliegt. Der Grund dafür ist, daß das aktuelle Verzeichnis nicht im Suchpfad der Shell vorhanden ist - für ROOT übrigens aus Sicherheitsgründen. Zwei Wege führen einfach zum Ziel:

# ./myscript.sh

oder:

# export PATH=.:$PATH; myscript.sh

Welche Zeilen im Script wie ausgeführt werden, ermöglicht der Aufruf der Shell mit dem Argument "-x", also "bash -x myscript.sh".