Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 02.06.2026 · 4 min Lesezeit

Bash-Skripting für Admins – die Grundlagen

Bash-Skripting für Admins verständlich lernen: Shebang, Variablen, Bedingungen, Schleifen, Exit-Codes und sichere erste Skripte mit klaren Prüfungen.

Geprüft am 30.09.2026

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Büroarbeitsplatz mit zwei Monitoren, Zahnrädern und Datenverbindungen zu einer Reihe von Serverschränken

Bash-Skripting ist für Linux-Admins die Brücke zwischen einzelnen Terminalbefehlen und echter Automatisierung. Viele kleine Aufgaben wiederholen sich: Logs prüfen, Dateien sichern, Dienste abfragen oder mehrere Ziele nacheinander bearbeiten. Dafür eignet sich ein Bash-Skript. Ziel dieser Anleitung sind einfache, nachvollziehbare Skripte, die Sie auch in zwei Wochen noch lesen und prüfen können.

Voraussetzungen

  • Linux-System mit Bash ab Version 4 (Debian, Ubuntu, RHEL; prüfen mit bash --version), keine besonderen Hardwareanforderungen
  • Normales Benutzerkonto, für die Beispiele sind keine Root-Rechte nötig
  • Grundlagen im Terminal
  • Ein Editor wie nano

Schritt 1: Erstes Bash-Skript anlegen

nano hallo.sh
#!/usr/bin/env bash
echo "Hallo aus dem Skript"
chmod +x hallo.sh
./hallo.sh

Verifizieren: ls -l hallo.sh zeigt -rwx am Anfang, ./hallo.sh gibt „Hallo aus dem Skript“ aus.

Schritt 2: Variablen und Argumente verstehen

#!/usr/bin/env bash
name="$1"
echo "Hallo $name"

Mit $1 greifen Sie auf das erste übergebene Argument zu. Setzen Sie Variablen in doppelte Anführungszeichen, sonst zerlegt die Bash Werte mit Leerzeichen in mehrere Wörter.

./hallo.sh Marcel

Verifizieren: ./hallo.sh Marcel gibt „Hallo Marcel“ aus, ./hallo.sh "Max Muster" gibt „Hallo Max Muster“ aus.

Schritt 3: Bedingungen und Exit-Codes nutzen

#!/usr/bin/env bash
if [ -z "$1" ]; then
  echo "Bitte einen Namen angeben"
  exit 1
fi

echo "Hallo $1"
exit 0

Exit-Code 0 bedeutet Erfolg, ein anderer Code steht meist für einen Fehler. Dieses Muster brauchen Sie später für Cronjobs, systemd-Services oder Prüfskripte.

Verifizieren: ./hallo.sh; echo $? gibt „Bitte einen Namen angeben“ und 1 aus, ./hallo.sh Test; echo $? endet mit 0.

Schritt 4: Schleifen für mehrere Ziele einsetzen

#!/usr/bin/env bash
for host in server1 server2 server3; do
  echo "Prüfe $host"
done

Mit Schleifen verarbeiten Sie mehrere Werte in fester Reihenfolge. Daraus entstehen kleine Admin-Helfer wie Port-Checks oder Sicherungsdurchläufe.

Verifizieren: Die Ausgabe enthält drei Zeilen „Prüfe server1“ bis „Prüfe server3“ in dieser Reihenfolge.

Schritt 5: Ausgabe protokollieren und Fehler sichtbar machen

Ein Admin-Skript ist nur nützlich, wenn seine Ausgabe zeigt, was es gerade tut. set -u bricht zusätzlich ab, sobald eine nicht gesetzte Variable verwendet wird.

#!/usr/bin/env bash
set -u

echo "[INFO] Starte Prüfung"
ls /tmp
status=$?
echo "[INFO] Exit-Code: $status"

$? enthält den Exit-Code des zuletzt ausgeführten Befehls. Lesen Sie ihn direkt danach aus, jeder weitere Befehl überschreibt ihn.

Verifizieren: Die Ausgabe endet mit „[INFO] Exit-Code: 0“. Ersetzen Sie /tmp durch /gibtesnicht, erscheint eine Fehlermeldung von ls und „[INFO] Exit-Code: 2“.

Schritt 6: Skript sicher ausführbar machen

Ein brauchbares Admin-Skript braucht einen festen Speicherort, passende Rechte und eine klare Startmethode.

mkdir -p ~/scripts
mv hallo.sh ~/scripts/
ls -l ~/scripts/hallo.sh

Sollen Skripte regelmäßig laufen, helfen die Anleitungen Cron und crontab und systemd-Service erstellen und verwalten weiter. Rufen Sie Skripte dort immer mit vollständigem Pfad auf, da Cron und systemd eine andere Umgebung als Ihre Shell nutzen.

Verifizieren: ls -l ~/scripts/hallo.sh zeigt weiterhin -rwx, ~/scripts/hallo.sh Test gibt „Hallo Test“ aus.

Troubleshooting

  • Permission denied: Meist fehlt chmod +x.
  • command not found trotz vorhandenem Skript: Das aktuelle Verzeichnis steht nicht im PATH. Starten Sie das Skript mit ./skriptname oder vollständigem Pfad.
  • env: 'bash\r': No such file or directory (Schreibweise je nach Version): Die Datei hat Windows-Zeilenenden (CRLF). Wandeln Sie sie mit sed -i 's/\r$//' skriptname um.
  • Syntaxfehler erst zur Laufzeit bemerkt: bash -n skriptname prüft die Syntax ohne Ausführung.
  • Unerwartete Leerzeichenprobleme: Setzen Sie Variablen in doppelte Anführungszeichen ("$name").

Häufige Fragen

Wann reicht ein Bash-Skript und wann brauche ich Python?

Für einfache Systemaufgaben, Prüfungen und kleine Automatisierungen reicht Bash oft völlig aus. Wenn Logik, Datenstrukturen oder externe APIs komplex werden, wird Python meist angenehmer.

Wofür ist der Shebang gut?

Er legt fest, mit welchem Interpreter das Skript ausgeführt werden soll.

Warum sind Exit-Codes so wichtig?

Weil andere Werkzeuge wie Cron oder systemd daran erkennen, ob ein Skript erfolgreich war.

Fazit

Gutes Bash-Skripting beginnt nicht mit cleveren Einzeilern, sondern mit klaren, überprüfbaren Schritten. Wer Shebang, Argumente, Bedingungen, Schleifen und Exit-Codes sicher beherrscht, hat eine belastbare Grundlage für viele typische Admin-Automatisierungen.

Weiterführende Anleitungen und Quellen

Quellen: GNU Bash Reference Manual, man bash.