zsh【Z Shell】
概要

シェルとは、利用者が入力した指示を受け付け、OSのカーネルに伝えて実行させ、結果を表示するプログラムである。ターミナル上での対話操作だけでなく、一連の処理を記述したシェルスクリプトの実行環境としても機能する。zshは対話利用とスクリプト用途の双方に対応しており、名前付きディレクトリや連想配列、算術演算といったスクリプト機能も備える。
機能が充実していることで定評があり、特に強力なタブ補完とファイル名展開が知られる。Tabキー一つでコマンドやパス、オプションの候補を提示・補完でき、メニュー選択型の補完や入力ミスの自動修正にも対応する。ファイル名展開はワイルドカード指定を拡張する「拡張グロブ」(extglob)として提供されており、ファイルのサイズや更新日時などを条件にしたパターン指定も簡潔に記述できる。複数のターミナルセッション間でコマンド履歴を共有する機能も持ち、プロンプトの表示形式やキーバインドをはじめほぼあらゆる動作をカスタマイズできる。多機能である反面、初期のシェルに比べてプログラムサイズやメモリ消費量は大きい。
オープンソースとして公開・配布されており、ライセンスはBSDライセンスに近い独自ライセンスである。macOSではバージョン10.15(Catalina、2019年)以降、それまで標準だった「bash」に代わりzshがデフォルトシェルとして採用されている。LinuxディストリビューションやBSD系OSでも広く利用でき、各ディストリビューションのパッケージマネージャから導入できる。
1990年に米プリンストン大学の学生だったポール・ファルスタッド(Paul Falstad)氏によって開発された。当時すでに「Bourneシェル」「bash」「ksh」「csh」などの有力なシェルが普及しており、zshはそれらの優れた機能を積極的に取り込む形で設計された。Bourneシェルやbashと互換性を持って動作するモードも備えており、既存のシェルスクリプトをほぼそのまま実行できる。