Kommandozeile Schnellstart – Was ist Bash Scripting
Wir haben gelernt, dass Bash die Standard-Shell für Unix-Systeme darstellt. Gleichzeitig ist Bash aber auch eine Programmiersprache. Dabei unterstützt Bash viele der für Programmiersprachen typischen Features wie Schleifen und if-Abfragen. Da Bash auf den meisten unixoiden Systemen vorinstalliert ist, haben wir damit die Möglichkeit, ohne weiteres Skripte zu entwickeln, die uns die Arbeit mit dem System erleichtern können.
Code-Beispiel
Nehmen wir an, wir wollen ein Skript schreiben, dass die Zahlen von eins bis zu einer von uns gewählten Zahl auf dem Bildschirm ausgibt. Der erfahrene Programmierer denkt dann natürlich sofort an eine Schleifen. Bash bietet uns die Möglichkeit, ein solches Skript zu entwickeln.
echo "Gib eine Zahl ein:"
read number
for i in $(seq $number); do
echo $i;
done
Der Ausdruck #!/bin/bash bestimmt dabei, welchen Interpreter wir für die Ausführung des Skripts verwenden.
Wir speichern dieses Skript unter script.sh ab und machen es mit chmod a+x ausführbar. Danach können wir das Skript mittels ./script.sh aufrufen. Wir werden dann zur Eingabe einer Zahl aufgefordert und das Skript gibt die Zahlen von eins bis zu unserer eingegebenen Zahl aus.
Wichtig: Sämtliche Skripte müssen unter Linux als ausführbar markiert werden, bevor sie ausgeführt werden können. Dazu verwenden wir den Befehl chmod (change mode) mit dem Parameter x (für executable).
Mach dir keine Gedanken wenn du nicht auf Anhieb alles verstehst. Wir werden die Konstrukte dieses Skriptes im Teil des Ratgeber noch ausführlicher besprechen. Wichtig ist an dieser Stelle nur, zu verinnerlichen dass Bash eine vollständige Programmiersprache ist und dass wir sie einsetzen können, um Aufgaben in einem unixoiden System zu automatisieren.
Zusammenfassung
Bash ist nicht nur eine Shell sondern auch eine vollständige Programmiersprache, die auf den meisten unixoiden System vorinstalliert ist. Somit steht einem Systemadministrator jederzeit die Möglichkeit der Automatisierung oft wiederkehrender Aufgaben mittels Skripten zur Verfügung.