Bash Grundkurs #1: Erstelle dein erstes Bash-Shell-Skript

Willkommen zum ersten Artikel unserer technischen Wiki-Serie über Linux und Bash-Programmierung!

In dieser Reihe wirst du Schritt für Schritt lernen, wie du deine eigenen Shell-Skripte erstellst und ausführst. Egal, ob du ein kompletter Neuling in der Welt der Kommandozeile bist oder deine Kenntnisse auffrischen möchtest, dieser Artikel wird dir einen soliden Einstieg in die faszinierende Welt der Bash-Skripte bieten.

Was bedeutet Bash?

Bash (Bourne Again Shell) ist die Standard-Shell in den meisten Linux-Distributionen und macOS. Sie bietet nicht nur eine leistungsfähige Kommandozeilen-Schnittstelle, sondern auch eine vollwertige Skriptsprache. Mit Bash-Skripten kannst du Aufgaben automatisieren, komplexe Workflows erstellen und deine Produktivität als Systemadministrator oder Entwickler erheblich steigern.

In diesem Wiki-Artikel konzentrieren wir uns darauf, wie du dein allererstes Bash-Shell-Skript erstellst und ausführst. Wir werden jeden Schritt detailliert erklären, sodass du auch als absoluter Anfänger problemlos folgen kannst.

Hello World

Lass uns mit dem klassischen „Hello World“-Beispiel beginnen. Dieses einfache Skript wird dir helfen, die grundlegenden Konzepte zu verstehen und dich mit der Syntax vertraut zu machen.

Öffne zunächst ein Terminal-Fenster. In den meisten Linux-Distributionen findest du das Terminal in der Anwendungsliste oder kannst es mit der Tastenkombination Strg + Alt + T öffnen. 

Erstelle nun eine neue Datei mit dem Namen hello_world.sh mithilfe des Texteditors deiner Wahl.

Für dieses Beispiel verwenden wir den einfachen Editor nano:

Bash
nano hello_world.sh

In dem geöffneten Editor gibst du nun folgenden Code ein:

Bash
#!/bin/bash
echo "Hello, World!"

Lass uns diese Zeilen genauer betrachten:

  • Die erste Zeile #!/bin/bash wird als Shebang bezeichnet. Sie teilt dem System mit, welcher Interpreter für die Ausführung des Skripts verwendet werden soll – in diesem Fall Bash.
  • Die zweite Zeile verwendet den echo-Befehl, um den Text „Hello, World!“ auf dem Bildschirm auszugeben.

Speichere die Datei und verlasse den Editor. In nano drückst du dafür Strg + X, dann Y und bestätigst mit Enter. Um das Skript ausführbar zu machen, musst du ihm die entsprechenden Berechtigungen geben.

Verwende dafür den chmod-Befehl:

Bash
chmod +x hello_world.sh
Der Parameter +x fügt die Ausführungsberechtigung für alle Benutzer hinzu.

Jetzt kannst du dein Skript ausführen, indem du seinen Namen mit vorangestelltem ./ eingibst:

Bash
./hello_world.sh

Du solltest jetzt die Ausgabe „Hello, World!“ auf deinem Bildschirm sehen.

Herzlichen Glückwunsch! Du hast gerade dein erstes Bash-Skript erstellt und ausgeführt.

Eine weitere Methode, Shell-Skripte auszuführen

Neben der Methode, die wir gerade kennengelernt haben, gibt es noch einen anderen Weg, deine Shell-Skripte auszuführen. Du kannst den Bash-Interpreter direkt aufrufen und ihm den Dateinamen als Argument übergeben:

Bash
bash hello_world.sh

Diese Methode hat den Vorteil, dass du die Ausführungsberechtigungen der Datei nicht ändern musst. Sie ist besonders nützlich, wenn du Skripte testen möchtest, ohne ihnen dauerhaft Ausführungsrechte zu geben.

Verwandele dein Shell-Skript in ein Bash-Skript

Obwohl wir unser Skript bereits mit der Shebang-Zeile #!/bin/bash versehen haben, ist es technisch gesehen immer noch ein allgemeines Shell-Skript. Um es in ein echtes Bash-Skript zu verwandeln und einige der fortgeschrittenen Funktionen von Bash zu nutzen, können wir einige Änderungen vornehmen:

Öffne dein Skript erneut im Editor:

Bash
nano hello_world.sh

Ändere den Inhalt wie folgt:

Bash
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

# Definiere eine Variable
greeting="Hello, World!"

# Verwende Parameter-Expansion und String-Manipulation
uppercase_greeting=${greeting^^}

# Ausgabe mit Farben
echo -e "\e[1;34m$greeting\e[0m"
echo -e "\e[1;31m$uppercase_greeting\e[0m"

# Verwende eine Bash-spezifische Bedingung
if [[ $greeting == *"World"* ]]; then
    echo "Die Begrüßung enthält das Wort 'World'."
fi

Lass uns die Änderungen im Detail betrachten:

  • set -euo pipefail: Diese Zeile aktiviert einige nützliche Sicherheitsoptionen in Bash.
  • IFS=$'\n\t': Setzt das Internal Field Separator auf Newline und Tab, was in vielen Fällen sicherer ist.
  • Wir definieren eine Variable greeting und verwenden sie später.
  • ${greeting^^} ist eine Bash-spezifische Syntax zur Umwandlung in Großbuchstaben.
  • Die echo-Befehle verwenden ANSI-Escape-Sequenzen für farbige Ausgaben.
  • Die if-Bedingung verwendet die Bash-spezifische [[ Syntax und den Mustervergleich *"World"*.

Speichere die Änderungen und führe das Skript erneut aus:

Bash
./hello_world.sh

Du solltest nun eine farbige Ausgabe sehen und eine zusätzliche Zeile, die bestätigt, dass das Wort „World“ in der Begrüßung enthalten ist.

Übungen

Um deine neu erworbenen Kenntnisse zu festigen, hier einige Übungen, die du ausprobieren kannst:

  1. Modifiziere das Skript so, dass es nach dem Namen des Benutzers fragt und diesen in der Begrüßung verwendet.
  2. Füge eine Funktion hinzu, die die aktuelle Uhrzeit ausgibt.
  3. Implementiere eine einfache Berechnung, z.B. die Summe von zwei Zahlen, die der Benutzer eingibt.
  4. Erstelle eine Schleife, die von 1 bis 10 zählt und jede Zahl ausgibt.

Hier ein Beispiel für die erste Aufgabe:

Bash
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

# Frage nach dem Namen des Benutzers
echo "Wie heißt du?"
read name

# Erstelle eine personalisierte Begrüßung
greeting="Hello, $name!"

# Ausgabe der personalisierten Begrüßung
echo -e "\e[1;34m$greeting\e[0m"

Fazit

In diesem ersten Artikel unserer Serie hast du gelernt, wie du ein einfaches Bash-Shell-Skript erstellst, es ausführbar machst und ausführst. Du hast auch einen Einblick in einige fortgeschrittenere Bash-Funktionen erhalten und wie du sie in deinen Skripten verwenden kannst.

Bash-Skripting ist ein mächtiges Werkzeug, das dir helfen kann, viele Aufgaben in Linux zu automatisieren und zu vereinfachen. In den kommenden Artikeln werden wir tiefer in die Welt der Bash-Programmierung eintauchen und komplexere Konzepte und Techniken erkunden.

Denk daran, dass Übung der Schlüssel zum Erfolg ist. Experimentiere mit den gelernten Konzepten, schreibe deine eigenen Skripte und hab keine Angst, Fehler zu machen – sie sind ein wichtiger Teil des Lernprozesses.

In unserem nächsten Artikel werden wir uns mit Variablen, Operatoren und Kontrollstrukturen in Bash befassen.

Bleib dran und happy scripting!

Kommentar verfassen