Zsh (Z Shell) ist eine leistungsfähige, interaktive Kommandozeilen-Shell, die 1990 von Paul Falstad an der Princeton University entwickelt wurde. Sie ist weitgehend bash-kompatibel, bietet aber deutlich mehr Funktionen: erweiterte Globbing-Muster, ein modulares Completion-System, ausgefeilte Prompt-Expansion und ein Plugin-Ökosystem. Seit macOS Catalina (2019) ist Zsh die Standard-Shell auf dem Mac.

Erste Schritte

zsh                     # interaktive Sitzung starten
echo $ZSH_VERSION       # Version anzeigen
which zsh               # Pfad der Shell ermitteln

Die Konfiguration liegt typischerweise in ~/.zshrc (interaktive Shells); dazu kommen .zshenv (für alle Sitzungen), .zprofile und .zlogin (Login-Shells) sowie .zlogout (beim Beenden).

Besondere Befehle

  • autoload: lädt Funktionen bei Bedarf aus dem FPATH — Grundlage des modularen Zsh-Funktionssystems.
  • zcompile: kompiliert Skripte und Funktionen in schneller ladbare .zwc-Dateien.
  • compinit/compdef: starten das Completion-System und definieren eigene Vervollständigungen; compinstall führt durch die Einrichtung.
  • zmv: massenhaftes Umbenennen per Muster, z. B. zmv '(*).txt' '$1.md'.
  • zcalc: ein integrierter wissenschaftlicher Taschenrechner.
  • vcs_info: liefert Versionskontroll-Informationen (Git, SVN, …) für den Prompt.
  • setopt/unsetopt: schalten über 100 Optionen ein und aus, z. B. setopt autocd (Wechsel ins Verzeichnis ohne cd) oder histignorespace.
  • bindkey: belegt Tastenkombinationen im Zsh-Line-Editor (z. B. bindkey '^r' history-incremental-search-backward).
  • Erweiterte Parameter-Expansion: ${(L)var} (Kleinbuchstaben), ${var:h} (Head/Pfad ohne Dateiname), ${(j:,:)arr} (Array verbinden).

Erweiterungen

Oh My Zsh ist das populärste Framework mit über 300 Plugins und vielen Themes (plugins=(git docker kubectl npm)). Daneben gibt es Prezto, zplug, zgen und antigen. Ergänzend sind zsh-autosuggestions (fish-artige Vorschläge) und zsh-syntax-highlighting (farblich hervorgehobene Kommandos) weit verbreitet. Bekannte Prompt-Themes sind powerlevel10k und agnoster.

Verwandte Grundlagen: Fish-Befehle, Xonsh-Befehle und die klassische Bash.