Diese Lektion vermittelt die Grundlagen des Bash-Scripting unter Linux. Anhand einfacher Beispiele wird gezeigt, wie sich Befehle in ausführbare Skripte überführen lassen, wie Variablen und Argumente verwendet werden und welche Rolle der Shebang, Bedingungslogik und Umgebungsvariablen spielen.
Was ist ein Skript?
Ein Bash-Skript ist eine Textdatei, die mehrere Shell-Befehle enthält. Wird die Datei ausführbar gemacht und gestartet, führt das System die Befehle nacheinander aus. Bash-Skripte sind ein zentrales Werkzeug für Automatisierung und Systemadministration.
Ein erstes Bash-Skript erstellen
echo 'echo "Hello World!"' > hello.sh
Die Datei hello.sh enthält nun einen einfachen Befehl. Um sie auszuführen, sind weitere Schritte erforderlich.
Ausführbar machen & korrekt aufrufen
Nach dem Erstellen eines Skripts ist dieses standardmäßig nicht ausführbar. Die Rechte müssen angepasst werden:
chmod +x hello.sh
Da der aktuelle Ordner nicht im $PATH enthalten ist, muss das Skript mit ./hello.sh aufgerufen werden.
Der Shebang
Ein Skript sollte mit einem sogenannten Shebang beginnen. Diese Zeile legt fest, mit welchem Interpreter das Skript ausgeführt werden soll:
#!/bin/bash
Sie steht immer in der ersten Zeile. Zusätzlich können Kommentare mit # ergänzt werden.
Variablen in Bash
Variablen werden ohne Leerzeichen definiert. Die Verwendung erfolgt durch Voranstellen eines Dollarzeichens:
username="Carol"
echo "Hallo $username!"
Alternativ kann ${username} verwendet werden, um z. B. Verwechslungen bei zusammengesetzten Zeichenfolgen zu vermeiden.
Stringverhalten: einfache vs. doppelte Anführungszeichen
Doppelte Anführungszeichen erlauben die Variablensubstitution, einfache Anführungszeichen nicht:
echo "Hallo $username" # Ausgabe: Hallo Carol
echo 'Hallo $username' # Ausgabe: Hallo $username
Argumente übergeben: $1, $2, $#
Beim Skriptaufruf können Werte als Argumente übergeben werden:
#!/bin/bash
echo "Hallo $1!"
echo "Anzahl der Argumente: $#"
$1 steht für das erste Argument, $# für die Gesamtanzahl.
if-Abfragen und Bedingungen
Mit if-Anweisungen kann geprüft werden, ob z. B. genügend Argumente übergeben wurden:
if [ $# -eq 1 ]; then
echo "Hallo $1!"
else
echo "Bitte genau ein Argument angeben!"
fi
Numerische Vergleichsoperatoren
-eq– gleich-ne– ungleich-lt– kleiner als-le– kleiner oder gleich-gt– größer als-ge– größer oder gleich
String-Vergleich vs. Zahl-Vergleich
== vergleicht Strings, -eq vergleicht Zahlen:
if [ "$1" == "$2" ] # Stringvergleich
if [ "$1" -eq "$2" ] # Zahlenvergleich
Umgebungsvariablen nutzen
Das aktuelle Verzeichnis kann über $PWD geprüft werden:
if [ "$1" == "$PWD" ]; then
echo "yes"
else
echo "no"
fi
Fazit
Die Lektion liefert eine fundierte Einführung in das Schreiben und Verwenden einfacher Bash-Skripte. Behandelt wurden unter anderem Variablen, Argumente, Bedingungen, Dateiberechtigungen, Shebang und die Unterscheidung zwischen Strings und Zahlen. Dieses Wissen bildet die Basis für spätere Automatisierungsschritte im Admin- und DevOps-Umfeld.

Schreibe einen Kommentar