Z shell
# Z shell

Die Z shell (zsh) ist eine Unix-Shell, die sowohl als interaktive Login-Shell, als auch als ein mächtiger Kommandozeileninterpreter für Shellskripte verwendet werden kann. Die zsh wird oft als erweiterte Bourne-Shell angesehen, welche viele Verbesserungen und Eigenschaften von bash, ksh und tcsh vereint.

Die Z shell ist in Apples Betriebssystem macOS seit macOS Catalina und bei Kali Linux seit Version 2020.4 die voreingestellte Shell.

## Ursprung

Die erste Version wurde 1990 von Paul Falstad, zu der Zeit Student der Princeton University, geschrieben.

### Namensherkunft

Der Name zsh leitet sich von Zhong Shao, Professor an der Yale University, ab, der damals Assistent an der Princeton University war. Paul Falstad dachte, dass Shaos Login-Name „zsh“ ein guter Name für eine Shell sei.

## Eigenschaften

* Programmierbare Befehlszeilenergänzung für sowohl Optionen als auch Argumente der meistgenutzten Programme inklusive einer nativen Unterstützung von mehreren hundert Programmen
* Benutzung derselben Befehlshistorie aller laufenden Shells
* Erweitertes Dateiglobbing ermöglicht es, ohne externen Programmaufruf Dateien näher zu spezifizieren
* Erweiterte Variablen-/Array-Handhabung
* Editierbarkeit von Befehlen mit mehreren Zeilen
* Rechtschreibkorrektur
* Kompatibilitätsmodi für andere Shells, kann sich bspw. als Bourne-Shell ausgeben wenn ausgeführt als /bin/sh
* Individualisierbarer Prompt mit der Möglichkeit, Informationen am rechten Bildschirmrand anzuzeigen und diese zu entfernen, falls der Befehl zu lang wird
* Nachträglich ladbare Module, unter anderem vollständige TCP- und IPC-Socket-Bedienbarkeit, ein FTP-Client und erweiterte mathematische Funktionen
* Viele Anpassungsmöglichkeiten
