The Z shell (Zsh) is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.
Screenshot of a Zsh session
|Original author(s)||Paul Falstad|
|Developer(s)||Peter Stephenson, et al.|
Paul Falstad wrote the first version of Zsh in 1990 while a student at Princeton University. The name zsh derives from the name of Yale professor Zhong Shao (then a teaching assistant at Princeton University) — Paul Falstad regarded Shao's login-id, "zsh", as a good name for a shell.
In 2019, macOS Catalina adopted Zsh as the default login shell, replacing the aging GPLv2 licensed version of Bash, and when Bash is run interactively on Catalina, a warning is shown by default.
- Programmable command-line completion that can help the user type both options and arguments for most used commands, with out-of-the-box support for several hundred commands
- Sharing of command history among all running shells
- Extended file globbing allows file specification without needing to run an external program such as find
- Improved variable/array handling
- Editing of multi-line commands in a single buffer
- Spelling correction and autofill of command names (and optionally arguments, assumed to be file names)
- Various compatibility modes, e.g. Zsh can pretend to be a Bourne shell when run as
- Themeable prompts, including the ability to put prompt information on the right side of the screen and have it auto-hide when typing a long command
- Loadable modules, providing among other things: full TCP and Unix domain socket controls, an FTP client, and extended math functions.
- The built-in
wherecommand. Works like the
whichcommand but shows all locations of the target command in the directories specified in
$PATHrather than only the one that will be used.
- Named directories. This allows the user to set up shortcuts such as
~mydir, which then behave the way
Oh My ZshEdit
This section relies too much on references to primary sources. (February 2019) (Learn how and when to remove this template message)
A user community website known as "Oh My Zsh" collects third-party plug-ins and themes for the Z shell. As of 2019, their GitHub repository has over 1,350 contributors, over 250 plug-ins, and over 140 themes, of varying quality. It also comes with an auto-update tool that makes it easier to keep installed plug-ins and themes updated.
- "The Z Shell Manual" (Version 5.0.0). Sourceforge.net. July 21, 2012. Retrieved September 18, 2012.
- "unposted: Release 5.8". sourceforge.net. February 15, 2020. Retrieved February 17, 2019.
- "zsh / Code /  /LICENCE". Paul Falstad. Retrieved February 7, 2015.
- "zsh - a ksh/tcsh-like shell (part 1 of 8)". alt.sources. December 14, 1990. Retrieved September 18, 2012.
- "Z-Shell Frequently-Asked Questions". Sourceforge.net. February 15, 2010. Retrieved September 18, 2012.
- "The Z-Shell (ZSH) Lovers' Page". Guckes.net. c. 2004. Retrieved October 2, 2012.
- "Zsh Mailing List Archive". Zsh.org. August 8, 2005. Retrieved October 2, 2012.
- Native Win32 ports of some GNU utilities
- Warren, Tom (June 4, 2019). "Apple replaces bash with zsh as the default shell in macOS Catalina". The Verge. Retrieved June 13, 2019.
- "Use zsh as the default shell on your Mac - Apple Support". Retrieved 1 July 2019.
- "Z-Shell Frequently-Asked Questions". zsh.sourceforge.net. Retrieved 2020-03-04.
- "Oh My ZSH - Community driven framework with 150+ plugins and 100+ themes". Retrieved May 7, 2014.
A delightful community-driven (with 1,000+ contributors) framework for managing your zsh configuration. Includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
- Russel, Robby. "d'Oh My Zsh". freeCodeCamp. Retrieved 18 August 2020.