今回は、「UNIX系OSで標準的に用いられるシェルの種類」についての説明です。
1.初めに
コンピュータには、OSという操作を行うための根幹を担うシステムがあります。
このシステムに色んなソフトウェアを紐付けることで、コンピュータが動作するのです。
Windows・Mac・Linux・UNIX・Android・iOSなどがOSに当たります。
パソコンやスマートフォンを使用しているとよく耳にすると思いますが、これらはパソコンやスマートフォンを動かすためのメインのシステムを指しているんですね。
OSの更に中核を担うソフトウェアのことをカーネルと呼び、そのカーネルとの橋渡しをするソフトウェアのことをシェルと呼びます。
このシェルなのですが、OSの一つであるUNIXには結構な種類があります。
今回は、UNIX系OSで用いられるシェルの種類とその補足説明をまとめて記載していこうと思います。
2.UNIX系OSで標準的に用いられるシェルの種類と補足説明
UNIX系OSで標準的に用いられるシェルとしては、以下のようなものがあります。
それぞれ補足説明していきますね。
Stephen Bourne氏が開発したからBourneシェルとも呼ばれる。
shは古いだけあって、必要最低限の機能しか搭載されていなかったので、shをベースとしてbash・ksh・csh・tcsh・zshのような様々なシェルが開発されています。
[Bourne Again Shell]の略称で、ビーエーシェルと呼びます。
バッシュではないです。
名称通り、Bourneシェル(sh)が[again(再び・改める)]したシェル、つまりshの後継として開発されたシェルです。
shの上位互換がbashとでも思っておきましょう。
ちなみに、[born again]で[生まれ変わる]の意なので、そちらの意味で捉えた方が覚えやすいかもしれません。
『それだとBorn Again Shellでは?』と思うかもしれませんが、綴りは[Bourne Again Shell]で間違っていません。
shの開発者がStephen Bourne氏なのでBourneシェルと呼ばれていて、そこに[born again]をかけたのだろうと言われています。
洒落ていますね。
また、後述のkshについてもshの上位互換です。
bashとkshの違いは、ただ単に開発者が異なるというだけです。
David Korn氏が開発したから頭文字を取ってkshと呼ばれています。
前述のbash同様、shの後継・上位互換です。
kshとbashの違いは、ただ単に開発者が異なるというだけです。
C言語のような言語・文法を使用しているのでcshと呼ばれています。
bash・ksh同様のshをベースに開発されたシェルです。
shをより使いやすくしたものがcshなのですが、そこから更に派生してtcshというシェルも開発されています。
cshから派生して開発されたシェル。
tcshの”t”はTENEXもしくはTOPS-20Cに由来すると言われていますが、実態は不明です。
調べても碌に出てこなかったよ♨
shの後継として開発されたbash・ksh・cshなどの有力なシェルの良いとこ取りをして開発されたシェル。
”z”の由来は謎ですが、バージョンが上がると数字やアルファベットが進んでいくことが多いので、最後のアルファベットであるZを使うことで、『これ以上は無いものを作れた』と主張したいのかもしれませんね。
まあ、最悪zzshとか名称の付けようはあるのでなんとも言えないですけど。
3.まとめ
UNIX系OSに用いられる代表的なシェルについて記述したので、最後に簡単にまとめますね。
まず、shという必要最低限の機能を搭載した旧いシェルがありました。
次に、このシェルをベースとしてbash・ksh・csh(tcsh)が開発されました。
そして、bash・ksh・cshから良いとこ取りをしたzchが開発されました。
流れとしてはこんな感じです。
以上、「UNIX系OSで標準的に用いられるシェルの種類」についての説明でした。