- 1 Section
- 10 Lessons
- unbegrenzt
- Bash / Shell-Scripting10
- 1.1Was ist eine Shell? bash, sh, zsh im Vergleich
- 1.2Grundlegende Befehle: cd, ls, cp, mv, rm, grep
- 1.3Variablen, Eingabe und Ausgabe
- 1.4Kontrollstrukturen: if, case, for, while
- 1.5Funktionen und Argumente
- 1.6Fehlerbehandlung: exit codes, trap
- 1.7Textverarbeitung: sed, awk, cut, sort
- 1.8Dateisystem-Automation: find, xargs, cron
- 1.9Netzwerk-Scripting: curl, ssh, rsync
- 1.10Praxisprojekt: Systemstatus- und Backup-Script
Was ist eine Shell? bash, sh, zsh im Vergleich
Wenn du an einem Linux- oder macOS-Rechner arbeitest und etwas Tieferes machen willst – Dateien massenhaft umbenennen, einen Server konfigurieren, ein Backup automatisieren – kommst du um die Shell nicht herum. Die Shell ist das textbasierte Interface zwischen dir und dem Betriebssystem. Du tippst Befehle, die Shell führt sie aus.
Für Fachinformatiker Systemintegration (FISI) ist Bash unverzichtbar: Server-Verwaltung, Logfile-Analyse, Deployment, Cron-Jobs – ohne Shell geht praktisch nichts. Auch für Anwendungsentwickler (FIAE) sehr nützlich, gerade wenn es um CI/CD-Pipelines, Container und DevOps geht. In diesem Kurs lernst du Bash systematisch – von den ersten Befehlen bis zu komplexen Skripten.
1) Was IST eine Shell überhaupt?
Stell dir dein Betriebssystem als Zwiebel vor: ganz innen der Kernel (er steuert die Hardware), darum eine Shell (sie nimmt deine Befehle und übersetzt sie für den Kernel), außen Du als Benutzer. Die Shell ist die äußere Schale (engl. „shell") des Systems. Klicke die Schichten an:
2) GUI vs. CLI – warum überhaupt tippen?
Die meisten Leute kennen Computer nur grafisch (GUI = Graphical User Interface): Klicken, Drag & Drop, Fenster. Die Shell ist ein CLI (Command Line Interface). Warum sollte man heute noch im Textmodus arbeiten?
3) Ein erstes Terminal-Erlebnis
Hier ein simulierter Mini-Mitschnitt aus einem typischen Bash-Terminal. Drei Bestandteile sind wichtig: der Prompt (zeigt dir an wo du bist), die Eingabe die du tippst, und die Ausgabe der Befehle:
anna
anna@laptop:~$ pwd # wo bin ich gerade?
/home/anna
anna@laptop:~$ date
Sonntag, 17. Mai 2026, 14:32:05 CEST
anna@laptop:~$ echo "Hallo Bash!"
Hallo Bash!
anna ist der Benutzername, laptop der Computername, ~ das aktuelle Verzeichnis (~ = Home-Ordner), $ bedeutet Normaluser (# wäre root mit Admin-Rechten). Diese Anzeige ist konfigurierbar – aber das Standard-Format hilft sehr beim Orientieren. Wir nutzen in diesem Kurs der Einfachheit halber oft nur $ als Prompt-Symbol.4) Die wichtigsten Shells im Vergleich
Es gibt nicht „die eine" Shell – über die Jahre sind viele entstanden. Die wichtigsten:
/bin/sh – nicht bash!echo $SHELL zeigt dir welche Shell aktuell läuft. Wechseln geht mit bash (oder zsh, ...) – wirft dich in eine neue Shell-Instanz.5) Befehle aufbauen – die anatomische Grundform
Jeder Shell-Befehl folgt dem gleichen Muster: befehl [optionen] [argumente]. Beispiele:
$ ls -l # Option: lange Ausgabe
$ ls -l -a # zwei Optionen, oder kombiniert: -la
$ ls -la /etc # mit Argument: Pfad
$ cp --recursive a/ b/ # Lange Option-Form
Optionen kommen in zwei Varianten: kurz mit einem Strich (-l) und lang mit zwei Strichen (--long). Kurze Optionen kann man oft kombinieren: -la ist dasselbe wie -l -a. Hilfe zu jedem Befehl bekommst du meist mit befehl --help oder ausführlich mit man befehl („manual"). Die man-Seiten sind dein bester Freund auf der Kommandozeile.
6) Scripts: Befehle in Dateien speichern
Eine Shell-Skript ist nichts anderes als eine Datei voll mit Shell-Befehlen – die werden dann nacheinander ausgeführt. Die erste Zeile ist besonders: das Shebang sagt dem System mit welcher Shell die Datei laufen soll:
# oder portabler:
#!/usr/bin/env bash
# für POSIX-konforme Skripte
# Skripts können auch andere Sprachen sein!
#! („sharp" + „bang"). Es muss in der allerersten Zeile stehen, ohne Leerzeichen davor. Damit das System die Datei direkt ausführen kann (ohne bash dateiname), brauchst du noch Ausführrechte: chmod +x dateiname.sh. Dann reicht ./dateiname.sh. Mehr über Datei-Rechte in K29 Linux.7) Hallo Welt in Bash
Ein klassisches erstes Skript. Speichere als hallo.sh:
# Mein erstes Bash-Skript
echo "Hallo, Bash-Welt!"
echo "Heute ist $(date)"
echo "Du heißt $USER und arbeitest in $PWD"
Ausführen:
$ ./hallo.sh
Hallo, Bash-Welt!
Heute ist Sonntag, 17. Mai 2026, 14:32:05 CEST
Du heißt anna und arbeitest in /home/anna
Drei wichtige Dinge sind hier zu sehen: echo gibt Text aus. $(...) führt einen Befehl aus und setzt sein Ergebnis ein. $USER und $PWD sind Umgebungsvariablen – Bash hat viele eingebaut. Mehr zu Variablen in Lektion 3.
8) Wofür wird Bash heute eingesetzt?
Bash ist nicht tot – im Gegenteil. Die Anwendungsfelder sind massiv:
- Server-Administration: Konfiguration, Wartung, Monitoring (FISI-Daily-Business)
- Automatisierung: Backups, Log-Rotation, geplante Aufgaben via cron
- CI/CD-Pipelines: Build-Skripte in GitLab CI, GitHub Actions, Jenkins (siehe K54)
- Docker / Container: Dockerfiles enthalten oft Bash-Scripte (siehe K32)
- Installations- und Deploy-Scripts: die berühmten
curl ... | bash-Installer - Log-Analyse: grep, sed, awk durch Gigabyte-Logs jagen
- System-Migrations: Massen-Umzüge von Daten und Konfigurationen
Selbst wenn du als Anwendungsentwickler (FIAE) hauptsächlich in Python, Java oder JavaScript arbeitest – Bash wirst du täglich brauchen: zum Starten von Tools, für Build-Schritte, für Deployments. Auf Windows ist das ähnliche Werkzeug die PowerShell (K44) – das Konzept ist aber sehr ähnlich.
9) Installation und Setup
Auf den meisten Systemen ist Bash schon installiert. So überprüfst du das:
- Linux: Praktisch immer dabei.
bash --versionzeigt die Version. Aktuell ist 5.x. - macOS: Ja, aber eine alte Version (3.2) wegen Lizenzgründen. Default-Shell ist heute zsh. Aktuelle Bash via Homebrew:
brew install bash. - Windows: Drei Wege: 1) WSL (Windows Subsystem for Linux – am besten!), 2) Git Bash (kommt mit Git for Windows), 3) Cygwin.
Für ernsthafte Arbeit empfehle ich Linux oder WSL. Auf Mac geht zsh und auch Bash. Ein guter Editor für Skripte: VS Code mit der „Bash IDE"-Extension – Syntax-Highlighting, Linting via ShellCheck.
Zusammenfassung
Eine Shell ist das Programm zwischen dir und dem Kernel: sie nimmt Befehle, parst sie, startet andere Programme. Beliebteste Shells: sh (Urshell, POSIX), bash (Standard auf Linux, lernen wir), zsh (macOS-Default, bash-kompatibel), fish (modern, andere Syntax), PowerShell (Windows). CLI ist wiederholbar und automatisierbar – das ist der Killer-Vorteil gegenüber GUI. Befehl-Form: befehl [optionen] [argumente]. Optionen kurz (-l) oder lang (--long). Skripte sind .sh-Dateien mit Shebang in der ersten Zeile (#!/bin/bash) und Ausführrechten via chmod +x. Bash-Anwendung heute: Server-Admin, Automatisierung, CI/CD, Container, Log-Analyse.
