Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
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.
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
:
nano hello_world.sh
In dem geöffneten Editor gibst du nun folgenden Code ein:
#!/bin/bash
echo "Hello, World!"
Lass uns diese Zeilen genauer betrachten:
#!/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.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:
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:
./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.
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 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.
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:
nano hello_world.sh
Ändere den Inhalt wie folgt:
#!/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.greeting
und verwenden sie später.${greeting^^}
ist eine Bash-spezifische Syntax zur Umwandlung in Großbuchstaben.echo
-Befehle verwenden ANSI-Escape-Sequenzen für farbige Ausgaben.if
-Bedingung verwendet die Bash-spezifische [[
Syntax und den Mustervergleich *"World"*
.Speichere die Änderungen und führe das Skript erneut aus:
./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.
Um deine neu erworbenen Kenntnisse zu festigen, hier einige Übungen, die du ausprobieren kannst:
Hier ein Beispiel für die erste Aufgabe:
#!/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!