Aufbau eines Skripts
- Ein Shell-Skript ist eine einfache Textdatei, die eine Abfolge von Kommandos enthält, die von der Shell interpretiert werden.*
- Die Shell liest diese Datei zeilenweise und führt jeden Befehl nacheinander aus.*
- Ein Skript kann direkt im Terminal oder über Zeit- bzw. Systemmechanismen (z. B. cron) gestartet werden.*
- Am Anfang eines Skripts steht in der Regel die sogenannte Shebang-Zeile.*
- Sie definiert, welcher Interpreter das Skript ausführen soll.*
#!/bin/bash
- Die Shebang-Zeile beginnt immer mit den Zeichen #! gefolgt vom vollständigen Pfad zum Interpreter.*
- Fehlt diese Zeile, wird das Skript von der aktuell laufenden Shell ausgeführt – was bei verschiedenen Shells zu abweichendem Verhalten führen kann.*
- Beispiel
#!/bin/bash
echo "Hallo $USER"
echo "Heute ist $(date +%A)"
- Nach der Shebang-Zeile folgen die eigentlichen Befehle, Kommentare, ggf. Variablen oder einfache Kontrollstrukturen.*
- Leerzeilen werden von der Shell ignoriert, dienen aber der besseren Lesbarkeit.*
Kommentare
- Kommentare beginnen mit dem Zeichen # und werden von der Shell ignoriert.*
- Sie dienen der Dokumentation und helfen, Skripte besser verständlich und wartbar zu machen.*
- Die Shebang-Zeile ist die einzige Ausnahme – sie beginnt zwar mit #, wird aber vom Kernel ausgewertet und nicht als Kommentar behandelt.*
- Beispiele
# Dieses Skript gibt den aktuellen Benutzer und den Wochentag aus
#!/bin/bash
echo "Heute ist ein schoener Tag"
- Kommentare können auch am Ende einer Zeile stehen:*
echo "Start" # Startmeldung ausgeben
- Leere Zeilen und Kommentarzeilen haben keine Auswirkung auf die Ausführung.*
Kopfzeile und Metadaten
- In Schulungs- oder Administrationsumgebungen ist es gute Praxis, jedem Skript eine Kopfzeile mit Zweck, Autor, Datum und Version voranzustellen.*
- Beispielkopf für Schulungsskripte
#!/bin/bash
# Zweck: Beispiel für Skriptaufbau
# Autor: Thomas
# Datum: 17.10.2025
# Version: 1.0
Empfohlene Konventionen
- Verwende für Skripte nach Möglichkeit die Endung .sh, um sie besser erkennbar zu machen.*
- Schreibe Befehle klar strukturiert, mit Einrückungen bei logischen Blöcken.*
- Nutze Kommentare zur Beschreibung komplexer oder sicherheitsrelevanter Bereiche.*
- Teste Skripte vor der Ausführung mit bash -n (Syntaxprüfung) oder bash -x (Debugmodus).*
- Halte den Code portabel – vermeide shell-spezifische Erweiterungen, sofern nicht nötig.*