Bash ist die am weitesten verbreitete Shell unter Linux und ein grundlegendes Werkzeug fuer jeden Administrator. Dieser Leitfaden fuehrt Sie vom ersten Skript bis zu fortgeschrittenen Techniken.
Warum Bash lernen?¶
Bash ist die Standard-Shell auf den meisten Linux-Distributionen. Sie ist praktisch ueberall verfuegbar – von Servern ueber Container bis zu CI/CD-Pipelines. Bash zu kennen bedeutet, alles auf der Kommandozeile automatisieren zu koennen.
Im Gegensatz zu Python ist Bash direkt mit dem System verbunden. Befehle ausfuehren, mit Dateien arbeiten und Tools verketten ist natuerlich und schnell.
Erstes Skript¶
Jedes Bash-Skript beginnt mit einem Shebang:
!/bin/bash¶
echo “Hallo, Welt!” chmod +x skript.sh ./skript.sh
Variablen¶
NAME=”server01” echo “Hostname: $NAME” echo “CPU-Anzahl: $(nproc)”
- Lokale Variablen – gelten in der aktuellen Shell
- Exportierte – in Unterprozessen verfuegbar (export VAR=value)
- Spezielle – $?, $#, $@, $0, $$
Bedingungen¶
if [ -f “/etc/nginx/nginx.conf” ]; then echo “Nginx ist installiert” else echo “Nginx nicht gefunden” fi if [[ “$OS” == “Linux” && -d “/proc” ]]; then echo “Wir sind auf Linux” fi
Schleifen¶
for f in /var/log/*.log; do echo “Verarbeite: $f” wc -l “$f” done count=0 while [ $count -lt 5 ]; do echo “Iteration: $count” ((count++)) done
Funktionen¶
backup_dir() { local src=”$1” local dest=”$2” local date=$(date +%Y%m%d) tar czf “${dest}/backup-${date}.tar.gz” “$src” } backup_dir /etc /tmp
Fehlerbehandlung¶
set -euo pipefail trap ‘echo “Fehler in Zeile $LINENO”; exit 1’ ERR die() { echo “FATAL: $*” >&2; exit 1; } [ -f “$CONFIG” ] || die “Konfigurationsdatei nicht gefunden”
- Immer set -euo pipefail
- Anfuehrungszeichen: “$var”
- shellcheck fuer statische Analyse
- Ab 100+ Zeilen Python erwaegen
Bash ist grundlegend¶
Bash Scripting ist eine unverzichtbare Faehigkeit. Fangen Sie einfach an, nutzen Sie shellcheck und steigern Sie die Komplexitaet schrittweise.