はじめに
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 に興味が出てきており、
少し触ってみようかと思います。
あまり触れたことのないシェルを知ることができ、良い機会だったと思います。