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]