はじめに
Unixシェル、様々な種類がありますが、ちょっと調べてまとめてみました。
膨大な種類があるので、有名どころだけですが。。
sh
初版:1977年
Unix等では、 /bin/sh
は Bourne Shell
互換のシェルを指すらしいです。
シェルの中では最も基本的なシェルであり、 ここから bash
や ksh
と派生していきます。
bash
初版:1989年
Bourne Shell
から派生したシェルであり、基本的に上位互換です。
コマンド履歴やコマンド名の自動補完等を行ってくれます。
ksh
初版:1983年
こちらも Bourne Shell
から派生したシェルであり、基本的に上位互換です。
コマンド履歴やコマンド名の自動補完等を行ってくれます。
ash
初版:1991年
正式名称は Almquist Shell
といいます。
軽量なため、組み込みLinuxに利用されます。
メモリが少ないマシンには最適ですが、 bash
等が持つ補完機能は持っていません。
dash
初版:1997年
正式名称は Debian Almquist shell
といい、
Debian版Almquist Shell(ash)の意で、軽量かつPOSIX互換を目指すUnixシェルです。
基本的な機能は ash
と同様です。
Debian
は 5.0
から、 Ubuntu
は 6.10
から /bin/sh
は この dash
が使われています。
csh
初版:1978年
言語としての全体的スタイルはC言語によく似ています。
このシェルから tcsh
等に派生していきます。
tcsh
csh
にファイル名補完、コマンドライン編集機能の機能を追加したもので、上位互換です。
履歴編集などの機能に優れ、簡単なC言語ソースコードの文法チェックに使われたりします。
zsh
初版:1990年
bash
,ksh
,tcsh
の非常に有用な機能も一部取り込まれています。
macOSでも、 10.15 Catalina
からデフォルトのシェルとして設定されています。
その為、触れたことがある方も多いのではないでしょうか。
私は現在こちらの zsh
をメインで使用しています。
通称「最強のシェル」です。
fish
正式名称は friendly interactive shell
といいます。
POSIX(シェルスクリプトの標準仕様)に非互換ではありますが、
デフォルトで非常に強力な機能を搭載しているらしいです。
最後に
思った以上に短くなってしまいましたが、以上になります。
自身として zsh
を長年使っていますが、最近 fish
に興味が出てきており、
少し触ってみようかと思います。
あまり触れたことのないシェルを知ることができ、良い機会だったと思います。