シェル(sh, csh,bash,zsh)の変遷と何を使えば良いのかについて。
Macを使い始めたのですが、使いこなすには詳しくLinuxの学習が必要だなと思い、メモします。
一口にシェルと言っても様々な種類があって、どれを使うべきか迷ってしまいます。
ただ、その歴史的変遷を見てみると、どれを使うべきかわかってきたので、記録しておきます。
シェルを説明する前に、Linuxについて簡単に説明させてください。
Linuxとは
Linuxという言葉には、広義のLinuxと狭義のLinuxの意味の両方が含まれています。
本来はLinux、ハードウェアの制御だけを行うソフトウェアのみを示す(狭義のLinuxもしくは、Linuxカーネル)ですが、ユーザーが使えるようにコマンドやアプリをパッケージングしたものを広義のLinuxと呼びます。
そして、狭義のLinuxである、Linuxカーネルをユーザーが操作する、インターフェイスがシェルです。
簡単に言えば、シェルさんという秘書を介してでないと、カーネル社長には話すことができないということです。
シェルの種類と変遷
下記の図のような変遷で作られています。(代表的なシェルのみ列挙)
これを見ると、オレンジ色のBシェル系と 青色のCシェル系に分かれていることがわかります。
それぞれに長短があるのですが、新しくなるたびに、そのデメリットを克服していることが分かります。
なお、現在Macではzshがデフォルトのシェルとして使われています。
補足:ログインシェルとは
Linuxにログインしたり、Macでコマンドプロンプトを起動した際に、勝手にシェルが起動したと思います。
この際にLinuxが自動的に(ログイン時に)最初に起動されるシェルのことをログインシェルと言います。
で、どれを使えば良いのか?
迷っているならばbashやzshで良いのではないでしょうか。
Linuxで幅広く使われていますし、書籍もbashで書かれているものが多い気がします。
なので、bashを使うことがおすすめです(私見+新しいLinuxの教科書より)。
なお、Macではデフォルトでzshが設定されているため、変更が必要です。
その点に関してはこちら。