LU01b - Überblick

Die Grundlagen eines Bash-Skripts

Ein Bash-Skript beginnt normalerweise mit einer sogenannten Shebang-Zeile, die angibt, welche Shell zur Ausführung verwendet werden soll. Für Bash-Skripte sieht die Shebang wie folgt aus:

#!/bin/bash

Ein einfaches Beispiel:

#!/bin/bash
# Mein erstes Bash-Skript
echo "Hallo, Welt!"

Speichern Sie dieses Skript in einer Datei, z. B. `hallo.sh`, und machen Sie die Datei ausführbar:

chmod +x hallo.sh
./hallo.sh

Das Skript gibt dann den Text „Hallo, Welt!“ aus.

Variablen und ihre Verwendung

In Bash können Sie Variablen verwenden, um Daten zu speichern und diese im Skript wiederzuverwenden.

Beispiel:

#!/bin/bash
NAME="Max"
echo "Hallo, $NAME!"

Variablen werden ohne das `$`-Zeichen deklariert (`NAME="Max"`), aber mit `$` aufgerufen (`$NAME`).

Eingebaute Variablen:

Bash enthält viele vordefinierte Variablen. Einige wichtige Beispiele:

Beispiel:

#!/bin/bash
echo "Das Skript heißt $0"
echo "Der erste Parameter ist $1"
echo "Anzahl der Parameter: $#"

Kontrollstrukturen

Bedingte Anweisungen (if-else)

Mit `if`-Bedingungen lassen sich Verzweigungen definieren:

#!/bin/bash
NUMBER=5
if [ $NUMBER -gt 3 ]; then
    echo "$NUMBER ist größer als 3"
else
    echo "$NUMBER ist nicht größer als 3"
fi

Vergleichsoperatoren:

Schleifen (for, while)

for-Schleife:

#!/bin/bash
for i in 1 2 3 4 5; do
    echo "Zahl: $i"
done

while-Schleife:

#!/bin/bash
COUNTER=1
while [ $COUNTER -le 5 ]; do
    echo "Durchlauf $COUNTER"
    ((COUNTER++))
done

Funktionen

Funktionen sind nützlich, um wiederverwendbare Codeblöcke zu definieren:

#!/bin/bash
# Funktion definieren
begruesse() {
    echo "Hallo, $1!"
}
 
# Funktion aufrufen
begruesse "Maria"
begruesse "Max"

Nützliche Befehle in Bash-Skripten

Beispiel für Benutzereingabe und Arithmetik:

#!/bin/bash
echo "Gib eine Zahl ein:"
read num1
echo "Gib eine weitere Zahl ein:"
read num2
sum=$(expr $num1 + $num2)
echo "Die Summe ist: $sum"

Fehlerbehandlung

Mit `$?` kann der Rückgabewert des letzten Befehls überprüft werden. Ein Wert von `0` bedeutet Erfolg, jeder andere Wert zeigt einen Fehler an.

#!/bin/bash
mkdir /testverzeichnis
if [ $? -ne 0 ]; then
    echo "Fehler beim Erstellen des Verzeichnisses"
else
    echo "Verzeichnis erfolgreich erstellt"
fi

Praktische Tipps

Fazit

Die Shellprogrammierung mit Bash bietet eine Vielzahl von Möglichkeiten, wiederkehrende Aufgaben zu automatisieren und effiziente Workflows zu schaffen. Mit grundlegenden Kenntnissen in Variablen, Kontrollstrukturen und Funktionen können Sie bereits erste nützliche Skripte erstellen.