Zシェル(Zsh)は、シェルおよびシェルスクリプト用のコマンドラインインタープリタです。Zshは、Bourneシェルの構文と動作をほぼ維持していますが、デフォルト設定では、言語のPOSIX標準仕様からいくつかの重要な点で逸脱しており(引用符なしのパラメータ展開時の暗黙的なIFS分割とグロビングの排除など)、大幅に多くの機能を追加しています。sh
Zshは、ポール・ファルスタッドがプリンストン大学の学生だった1990年に作成されました。kshとtcsh(そして程度は低いもののrc )の両方の機能を組み合わせ、プログラム可能なコマンドライン補完、拡張されたファイルグロビング、改良された変数/配列処理、テーマ設定可能なプロンプトなどの機能を提供します。
Zshは、ほとんどのPOSIX/Unix系オペレーティングシステムに加え、CygwinまたはUnxUtilsコレクションの一部としてMicrosoft Windowsでも利用可能であり、 macOS、Deepin、TrueNAS、Kali Linuxのデフォルトの対話型シェルとして採用されています。「Oh My Zsh」ユーザーコミュニティウェブサイトは、サードパーティ製のプラグインやテーマのためのプラットフォームを提供しており、大規模で活発な貢献者コミュニティを擁しています。
ポール・ファルスタッドは、プリンストン大学の学生だった1990年にZshの最初のバージョンを書いた[ 5 ]。[ 6 ] Zshという名前は、プリンストン大学のティーチングアシスタントだった鍾少の名前から来ている。ファルスタッドは少のログイン名「zsh」をシェルの名前として適切だと考えた。[ 7 ] [ 8 ]
Zsh は当初、Amiga用のcshのサブセットとして意図されていましたが、それをはるかに超えて拡張されました。1990 年にバージョン 1.0 がリリースされた時点では、ksh と tcsh の中間のような、強力な「コマンドおよびプログラミング言語」を目指していました。つまり、ksh のように設計が優れて論理的でありながら、tcsh のように人間向けに作られており、スペルチェック、ログイン/ログアウト監視、termcap サポートなど、「おそらく AT&T 製品にするには奇妙すぎる」便利な機能がすべて備わっていました。[ 9 ]
Microsoft Windows用の Zsh の移植版は、少なくとも 1997 年頃からCygwin経由で利用可能であり[ 10 ]、Zsh は2002 年以降公式の Cygwin パッケージとして提供されています[ 11 ] 。 [ 12 ] [ 13 ]また、一般的なGNU Unix ライクなユーティリティのネイティブWin32移植版であるUnxUtilsコレクションの一部としても利用可能です(ただし、Zsh はBashとは異なり、GNU プロジェクト自体の一部ではありません)。[ 14 ]
2019年にmacOS CatalinaはZshをデフォルトのログインシェルとして採用し、GPLv2ライセンス版のBashを置き換えた[ 15 ]。CatalinaでBashを対話的に実行すると、デフォルトで警告が表示される[ 16 ] 。
TrueNAS (旧FreeNAS)のデフォルトシェルは、2018年後半にリリースされたFreeNAS 11.2でcshからZshに変更されました。[ 17 ]
2020年、Kali Linuxは2020.4リリース以降、Zshをデフォルトのシェルとして採用した。[ 18 ]


特徴は以下のとおりです。[ 19 ]
/bin/shwhereコマンド。コマンドと同様に動作しますが、使用されるディレクトリだけでなく、which指定されたディレクトリ内のすべてのターゲットコマンドの場所を表示します。$PATH~mydir、それらは や~と同じように動作します~user。
「Oh My Zsh」というユーザーコミュニティのウェブサイトは、Zシェル用のサードパーティ製プラグインとテーマを集めています。2024年現在、GitHubリポジトリには2300人以上の貢献者、300以上のプラグイン、140以上のテーマがあります。また、インストール済みのプラグインとテーマを簡単に最新の状態に保つことができる自動更新ツールも付属しています。[ 21 ]
統合フレームワーク以外にも、 GitHub上の独立したコミュニティリポジトリ zsh-usersには、広く使われているスタンドアロン拡張機能がいくつかあります。これらには、高度なコマンドタブ補完定義のための zsh-completions [ 22 ]、リアルタイムのコマンドラインハイライトのための zsh-syntax-highlighting [ 23 ]、履歴ベースのコマンド推奨のための zsh-autosuggestions [ 24 ]などがあります。同じ組織は、Zsh の初期の人気のあるプラグインマネージャの 1 つである Antigen も開発しました。[ 25 ]さらに、コミュニティは、実行速度に重点を置いた高性能フレームワーク Zim (zimfw) [ 26 ]や、外部プラグインマネージャに依存せずに内部構成構造を最適化するモジュール構成システム Veil (veil.zsh) [ 27 ]など、代替構成マネージャを使用して Z シェルのエコシステムを積極的に拡張しています。