CMD Master
Zurück zum Blog
•Aktualisiert•Arnošt Havelka

Das erste Bash-Skript schreiben und ausführen

Erstelle ein Bash-Skript, prüfe die Syntax, mache es ausführbar und verstehe bash script.sh im Vergleich zu ./script.sh.

Interaktive Lektion starten
Das erste Bash-Skript schreiben und ausführen

Ein Bash-Skript ist eine Textdatei mit Befehlen, die Bash der Reihe nach ausführt. Speichere in script.sh einen Shebang und einen Befehl, prüfe die Syntax, erteile die Ausführungsberechtigung und starte die Datei mit ./script.sh. Für die Fehlersuche eignet sich auch bash script.sh. Die Lektion zum ersten Skript führt denselben Ablauf in einer sicheren Umgebung vor.

Shebang und einen sichtbaren Befehl speichern

Lege script.sh mit diesen Zeilen an:

#!/usr/bin/env bash
printf '%s\n' 'Hello World'

Der Shebang lässt das Betriebssystem beim direkten Start über den aktuellen Suchpfad nach bash suchen. #!/bin/bash ist ebenfalls üblich, wenn Bash auf dem Zielsystem sicher dort installiert ist.

Prüfe die gespeicherte Datei:

cat script.sh

So erkennst du eine leere Datei, einen falschen Namen oder ein anderes Verzeichnis. Stammt die Datei aus Windows, sollte der Editor Unix-Zeilenenden (LF) speichern. Ein verborgenes CR kann trotz korrekt aussehendem Shebang „bad interpreter“ auslösen.

Syntax vor dem Ausführen prüfen

bash -n script.sh

Keine Ausgabe bedeutet nur, dass Bash keinen Syntaxfehler gefunden hat. Pfade, Berechtigungen und das fachlich richtige Ergebnis werden damit nicht geprüft.

Datei ausführbar machen

chmod u+x script.sh

Kontrolliere anschließend:

ls -l script.sh

In der Berechtigungsgruppe des Eigentümers sollte jetzt x stehen. chmod ändert den Dateimodus, nicht den Inhalt.

Zwei Startarten unterscheiden

Starte die ausführbare Datei aus dem aktuellen Verzeichnis:

./script.sh

Das Präfix ./ liefert einen Pfad. Shells durchsuchen das aktuelle Verzeichnis normalerweise nicht automatisch.

Oder übergib die Datei ausdrücklich an Bash:

bash script.sh

Diese Form benötigt eine lesbare Datei, aber kein Ausführungsbit. Bash verarbeitet den Inhalt unabhängig vom Shebang. Dadurch lässt sich ein Lese- oder Syntaxproblem von einem Problem beim direkten Programmstart trennen.

Die konkrete Fehlermeldung untersuchen

  • No such file or directory: Standort und Namen mit pwd und ls prüfen.
  • Permission denied: Ausführungsbit, Eigentümer, Verzeichnisrechte und Mount-Optionen prüfen.
  • Bad interpreter: Shebang-Pfad und Zeilenenden prüfen.
  • Syntax error: bash -n script.sh ausführen und die gemeldete Zeile untersuchen.
  • Unerwartete Ausgabe: jeden Befehl mit denselben Eingaben einzeln testen.

Danach helfen die Beiträge zu Bash-Variablen, Funktionen und zum sichereren Backup-Skript. Weitere Details stehen in der GNU-Bash-Dokumentation zu Shell-Skripten.

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.

Nächstes

Ein sichereres Bash-Backup-Skript mit tar schreiben

Erstelle ein Bash-Backup, das die Quelle prüft, Überschreiben verhindert, Teilarchive entfernt und die tar-Datei kontrolliert.