Paul Falstad wrote the first version of Zsh in 1990 while a student at
Princeton University. The name
zsh derives from the name of Zhong Shao, a teaching assistant at Princeton University. Falstad regarded Shao's
login, "zsh", as a good name for a shell. Zsh was at first intended to be a subset of
csh for the
Amiga, but expanded far beyond that. By the time of the release of version 1.0 in 1990 the aim was to be a cross between ksh and tcsh a powerful "command and programming language" that is well-designed and logical (like ksh), but also built for humans (like tcsh), with all the neat features like spell checking, login/logout watching and termcap support that were "probably too weird to make it into an AT&T product". Ports of Zsh for
Microsoft Windows have been available via
Cygwin at least since around 1997, and Zsh is supplied as an official Cygwin package since 2002. It is also available as part of the
UnxUtils collection of
native Win32 ports of common
GNU Unix-like utilities (though Zsh, unlike Bash is not part of the GNU project itself). In 2019,
macOS Catalina adopted Zsh as the default login shell, replacing the
GPLv2 licensed version of
Bash, and when Bash is run interactively on Catalina, a warning is shown by default. The default shell of
TrueNAS (formerly FreeNAS) changed from csh to zsh in FreeNAS 11.2 released in late 2018. In 2020,
Kali Linux adopted Zsh as the default shell since its 2020.4 release. == Features ==