Z shell

From Wikipedia, the free encyclopedia
  (Redirected from Zsh)
Jump to navigation Jump to search
Z shell
Screenshot of a Zsh session
Screenshot of a Zsh session
Original author(s) Paul Falstad[1]
Developer(s) Peter Stephenson, et al.[1]
Initial release 1990; 28 years ago (1990)
Stable release
5.6.2 / September 14, 2018; 8 days ago (2018-09-14)[2]
Repository Edit this at Wikidata
Written in C
Operating system Various
Type Unix shell
License MIT-like[3]
Website www.zsh.org

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 a large number of improvements, including some features of Bash, ksh, and tcsh.

Origin[edit]

Paul Falstad wrote the first version of Zsh in 1990[4] while a student at Princeton University.[5] The name zsh derives from the name of Yale professor Zhong Shao (then an Assistant Professor at Princeton University) — Paul Falstad regarded Shao's login-id, "zsh", as a good name for a shell.[6][7]

Features[edit]

Z shell's configuration utility for new users

Features include:

  • 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
  • Various compatibility modes, e.g. Zsh can pretend to be a Bourne shell when run as /bin/sh
  • 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 where command. Works like the which command but shows all locations of the target command in the directories specified in $PATH rather 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 ~ and ~user do.

Oh My Zsh[edit]

Zsh with Agnoster theme running on Konsole terminal emulator

A user community website called "Oh My Zsh" collects third-party plug-ins and themes for the Z shell.[8] As of 2018, their GitHub repository has over 1000 contributors, over 200 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.[9]

See also[edit]

References[edit]

  1. ^ a b "The Z Shell Manual" (Version 5.0.0). Sourceforge.net. July 21, 2012. Retrieved September 18, 2012. 
  2. ^ "zsh 5.6.2 released". Zsh.org. September 14, 2018. Retrieved September 21, 2018. 
  3. ^ "zsh / Code / [281031] /LICENCE". Paul Falstad. Retrieved February 7, 2015. 
  4. ^ "zsh - a ksh/tcsh-like shell (part 1 of 8)". alt.sources. December 14, 1990. Retrieved September 18, 2012. 
  5. ^ "Z-Shell Frequently-Asked Questions". Sourceforge.net. February 15, 2010. Retrieved September 18, 2012. 
  6. ^ "The Z-Shell (ZSH) Lovers' Page". Guckes.net. c. 2004. Retrieved October 2, 2012. 
  7. ^ "Zsh Mailing List Archive". Zsh.org. August 8, 2005. Retrieved October 2, 2012. 
  8. ^ "Oh My ZSH - Community driven framework with 150+ plugins and 100+ themes". Retrieved May 7, 2014. 
  9. ^ "robbyrussell/oh-my-zsh". 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. 

External links[edit]

Official[edit]

Articles[edit]

Other[edit]