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 demFPATH— 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;compinstallfü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 ohnecd) oderhistignorespace.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.