Zum Inhalt springen
Bash Anfรคnger 15 min

Was ist Bash?

Bash ist die Standard-Shell auf Linux-Servern und macOS. Sie automatisiert Aufgaben, verbindet Tools und ist fuer DevOps unverzichtbar.

Aktualisiert:
Inhaltsverzeichnis

Was ist Bash?

Bash (Bourne Again SHell) ist eine Kommandozeilen-Shell - ein Programm, das Eingaben interpretiert und Programme startet. Sie ist auf praktisch jedem Linux-Server die Standard-Shell und auch auf vielen macOS-Installationen verfuegbar. Windows-Nutzer bekommen Bash via WSL2 oder Git Bash.

Bash ist nicht nur eine Shell, sondern auch eine Skriptsprache. Du kannst Kommandos aneinanderreihen, verzweigen und zu vollstaendigen Programmen machen.

Wofuer wird Bash genutzt?

DevOps & Automation

  • Deployments (CI/CD-Pipelines)
  • Server-Setup (Konfiguration, User-Management)
  • Backups und Cronjobs
  • Docker-Entrypoints
  • Kubernetes-Helfer

Systemadministration

  • User anlegen, Rechte verwalten, Logs rotieren
  • Monitoring-Skripte
  • Migrations-Jobs

Taegliche Produktivitaet

  • Dateien umbenennen, konvertieren, umziehen
  • Git-Automatisierung (git clean, custom aliases)
  • Build-Skripte fuer Projekte

Die Sprache der Unix-Welt

Wer Linux-Server betreibt, kommt an Bash nicht vorbei. Selbst wenn du primaer Python oder Go nutzt - Bash-Skripte findest du ueberall.

Wie fuehlt sich Bash-Code an?

Ein typisches kleines Skript:

#!/usr/bin/env bash
set -euo pipefail

# Backup eines Verzeichnisses
QUELLE="/home/user/projekte"
ZIEL="/backup/projekte-$(date +%Y%m%d).tar.gz"

if [[ ! -d $QUELLE ]]; then
  echo "Quelle existiert nicht: $QUELLE" >&2
  exit 1
fi

tar -czf "$ZIEL" "$QUELLE"
echo "Backup erstellt: $ZIEL"

In 10 Zeilen hast du ein komplettes, robustes Backup-Skript.

Was macht Bash besonders?

Pipes - die Unix-Philosophie

cat zugriffe.log | grep 404 | sort | uniq -c | sort -rn | head -10

Diese Zeile:

  1. Liest eine Log-Datei
  2. Filtert auf 404-Fehler
  3. Sortiert
  4. Zaehlt Duplikate
  5. Sortiert nach Haeufigkeit
  6. Zeigt die Top 10

Jedes Tool macht eine Sache gut. Die Pipe | verknuepft sie zu maechtigen Pipelines.

Globbing und Pfade

ls *.txt
mv foto-*.jpg backup/
rm /tmp/alt-*.log

Shell-Expansion erkennt Muster und erstzt sie durch Dateilisten. Das ist Alltag und extrem produktiv.

Job Control

long_running &         # im Hintergrund starten
jobs                    # laufende Jobs
fg                      # in den Vordergrund holen

Immer da

Jeder Linux-Server hat Bash. Du brauchst nichts zu installieren. Das macht Bash-Skripte maximal portabel zwischen Unix-Systemen.

Bash vs. Andere Shells

  • sh - die klassische POSIX-Shell, kleiner Funktionsumfang
  • Bash - der Standard (Linux, macOS)
  • zsh - die macOS-Standard-Shell, sehr aehnlich zu Bash mit mehr Features
  • fish - interaktiv extrem gut, aber nicht POSIX-kompatibel (Skripte schreibst du trotzdem in Bash)
  • PowerShell - Microsofts Variante, anders orientiert

Wenn du Skripte schreibst: Bash (oder POSIX-sh fuer maximale Portabilitaet). Fuer interaktives Arbeiten ist zsh ein bisschen angenehmer.

Schattenseiten

Bash ist nicht fuer alles optimal:

  • Fuer grosse Programme ungeeignet - bei ueber 100 Zeilen wechsele zu Python/Go
  • Fehleranfaellig - leicht, Fehler zu uebersehen (unset variables, Leerzeichen in Dateinamen, โ€ฆ)
  • Obscure Syntax - ${var:-default}, $(cmd), <( ) sind erstmal fremd
  • Kein echtes Array-Handling wie in modernen Sprachen

Tricks wie set -euo pipefail machen Bash viel robuster - lernen wir im Kurs.

Wie lernst du Bash?

Am besten durch Praxis. Bash-Skripte solltest du nach und nach in deinen Alltag einbauen:

  • Ein Skript zum Anlegen neuer Projekte
  • Ein Git-Helfer (git-clean, git-sync)
  • Ein Backup-Skript fuer dein wichtigstes Verzeichnis
  • Ein โ€œneues Blog-Postโ€-Template-Generator

Je mehr du automatisierst, desto mehr Bash beherrschst du nebenbei.

Lohnt sich Bash 2026?

Unbedingt. Gruende:

  • Ueberall verfuegbar - egal welche andere Sprache du kannst, Bash zahlt sich aus
  • DevOps-Pflicht - ohne Bash kein Deployment
  • Produktivitaetsgewinn - Automation spart Stunden pro Woche
  • Kleine Einstiegshuerde - Grundlagen in wenigen Stunden drauf

Bash ist keine โ€œKarriere-Spracheโ€ wie Python oder Rust - aber eine Survival-Skill fuer alle, die mit Servern oder Terminals arbeiten.

Als Naechstes: Im naechsten Kapitel richten wir Bash ein und schreiben das erste Skript.

Zurรผck zum Bash Kurs