Vor- und Nachteile verschiedener Shells

Ratgeber: Shells für Linux und Unix richtig nutzen

Skripte schreiben und starten

Skripte werden zumeist in der Bourne-Shell-Syntax geschrieben. Das ist der kleinste gemeinsame Nenner unter den Shells und damit ist die Kompatibilität zu den meisten Shells garantiert. Um zu gewährleisten, dass auch die Bourne-Shell oder eine kompatible als Skriptinterpreter genutzt wird, schreiben Sie in die erste Zeile des Skripts

#!/bin/sh

Um ein Skript anschließend zu starten, müssen Sie es zunächst ausführbar machen. Das geht mit dem Befehl

chmod u+x Shellskript

Gestartet wird das Skript dann aus dem Verzeichnis mit

./Shellskript

Wichtig dabei: Vergessen Sie nicht den Punkt und den Schrägstrich für den aktuellen Pfad.

Bedingungen in Skripten

In Skripten kann man Bedingungen und Variablen verarbeiten und Schleifen bilden. Bedingungen werden mit if gebildet, etwa:

#!/bin/sh

if [ -f datei.ext ]

then

cp datei.ext ~/test1/

else

echo "Datei nicht vorhanden"

fi

Hier wird zunächst mit if geprüft, ob es die zu kopierende Datei überhaupt gibt. In den eckigen Klammern steht die Bedingung, die überprüft werden soll; falls ja, wird kopiert, falls nicht, erscheint eine Fehlermeldung. Welche Bedingungen tes" sonst noch abfragen kann, erfahren Sie mit man test.

if-Falle I: Vergessen Sie nicht, dass jedes "if" in Bash-Skripts auch ein "then" braucht. Und am Schluss des if-Konstrukts muss ein fi stehen.

if-Falle II: Wenn Sie Testbedingungen in eckige Klammern schreiben, so muss zwischen Bedingung und Klammer immer ein Leerzeichen stehen, also

if [ $# -gt 0 ]

und nicht

if [$# -gt 0]