Linux Essentials 3.3 – Von Befehlen zum Skript: Einstieg in Bash-Scripting (Lektion 1)

Inhaltsverzeichnis

Diese Lektion vermittelt die Grundlagen des Bash-Scripting unter Linux. Anhand einfacher Beispiele wird gezeigt, wie sich Befehle in ausführbare Skripte überführen lassen, wie Variablen und Argumente verwendet werden und welche Rolle der Shebang, Bedingungslogik und Umgebungsvariablen spielen.

Was ist ein Skript?

Ein Bash-Skript ist eine Textdatei, die mehrere Shell-Befehle enthält. Wird die Datei ausführbar gemacht und gestartet, führt das System die Befehle nacheinander aus. Bash-Skripte sind ein zentrales Werkzeug für Automatisierung und Systemadministration.

Ein erstes Bash-Skript erstellen

echo 'echo "Hello World!"' > hello.sh

Die Datei hello.sh enthält nun einen einfachen Befehl. Um sie auszuführen, sind weitere Schritte erforderlich.

Ausführbar machen & korrekt aufrufen

Nach dem Erstellen eines Skripts ist dieses standardmäßig nicht ausführbar. Die Rechte müssen angepasst werden:

chmod +x hello.sh

Da der aktuelle Ordner nicht im $PATH enthalten ist, muss das Skript mit ./hello.sh aufgerufen werden.

Der Shebang

Ein Skript sollte mit einem sogenannten Shebang beginnen. Diese Zeile legt fest, mit welchem Interpreter das Skript ausgeführt werden soll:

#!/bin/bash

Sie steht immer in der ersten Zeile. Zusätzlich können Kommentare mit # ergänzt werden.

Variablen in Bash

Variablen werden ohne Leerzeichen definiert. Die Verwendung erfolgt durch Voranstellen eines Dollarzeichens:

username="Carol"
echo "Hallo $username!"

Alternativ kann ${username} verwendet werden, um z. B. Verwechslungen bei zusammengesetzten Zeichenfolgen zu vermeiden.

Stringverhalten: einfache vs. doppelte Anführungszeichen

Doppelte Anführungszeichen erlauben die Variablensubstitution, einfache Anführungszeichen nicht:

echo "Hallo $username"   # Ausgabe: Hallo Carol
echo 'Hallo $username'   # Ausgabe: Hallo $username

Argumente übergeben: $1, $2, $#

Beim Skriptaufruf können Werte als Argumente übergeben werden:

#!/bin/bash
echo "Hallo $1!"
echo "Anzahl der Argumente: $#"

$1 steht für das erste Argument, $# für die Gesamtanzahl.

if-Abfragen und Bedingungen

Mit if-Anweisungen kann geprüft werden, ob z. B. genügend Argumente übergeben wurden:

if [ $# -eq 1 ]; then
  echo "Hallo $1!"
else
  echo "Bitte genau ein Argument angeben!"
fi

Numerische Vergleichsoperatoren

  • -eq – gleich
  • -ne – ungleich
  • -lt – kleiner als
  • -le – kleiner oder gleich
  • -gt – größer als
  • -ge – größer oder gleich

String-Vergleich vs. Zahl-Vergleich

== vergleicht Strings, -eq vergleicht Zahlen:

if [ "$1" == "$2" ]     # Stringvergleich
if [ "$1" -eq "$2" ]    # Zahlenvergleich

Umgebungsvariablen nutzen

Das aktuelle Verzeichnis kann über $PWD geprüft werden:

if [ "$1" == "$PWD" ]; then
  echo "yes"
else
  echo "no"
fi

Fazit

Die Lektion liefert eine fundierte Einführung in das Schreiben und Verwenden einfacher Bash-Skripte. Behandelt wurden unter anderem Variablen, Argumente, Bedingungen, Dateiberechtigungen, Shebang und die Unterscheidung zwischen Strings und Zahlen. Dieses Wissen bildet die Basis für spätere Automatisierungsschritte im Admin- und DevOps-Umfeld.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende