bashってなに?zshってなに?Macのターミナルで使用しているシェルスクリプトを調べてみた
PHPの勉強をしているとどうしてもターミナルを使った操作を行わなければならない時期がやってきます。その中で一番最初につまづいたのがbashとzshでした。この記事をご覧の方も今同じ状況だと思います。わかりやすく要点だけ絞って解説いたします。
bashとzshはシェルスクリプトである
bashとzshはどちらもシェルスクリプトと呼ばれるもので、いわゆるターミナルを通じてMacに命令を出す言語的なやつです。お使いのOSのバージョンによってbashかzshか異なるので後で解説します。シェルスクリプトがなんぞやということに関しての説明は省きます。
bashとzshの違いは?
一般的に広く使われているのはbashのようでさまざまなテックブログを見てもbashで書かれている記事が多いです。そして、bashの機能に加えさらに進化させたものがzshなようです。では、自分が使っているパソコンがbashとzshのどっちを採用しているのかを調べてみましょう。
bashかzshかを調べる方法
macOSのバージョンから推測する
まずはお使いのMacのOSのバージョンから調べる方法です。
macOS 10.14 Mojave まではbashが標準で採用されていましたが、macOS 10.15 Catalina からはzshが標準に切り替わったようです。ただし、これはあくまでも購入時に標準インストールされているOSでのお話し。もし、4,5年前に購入したMojave以前のMacをOSアップデートで最新のMontereyにした場合は、zshではなくbashのままとなります。
ちなみに私が使用しているMacのOSのバージョンは購入時点でmacOS 12.3.1 Montereyでしたので、採用されているシェルスクリプトはzshでした。
ターミナルで調べる
ターミナルを立ち上げるとウィンドウの上部に正解が書かれています。(実は目の前に正解があった)

もうちょっとプロっぽく調べてみましょう。
以下のコマンドをターミナルの画面に打ち込んでください。
echo $SHELL
bashでもzshでも同じコードでOKです。
/bin/bash と表示されたらbash、
/bin/zsh と表示されたらzshです。
以上です。
お使いのMacのターミナルではbashとzshのどちらが使われているのかわかりましたでしょうか。bashでできることはzshでも網羅されているとのことですが、bashで解説されているコードをそのまま入れてもzshの自分のマシンで動かないというケースが時々ありました。(そもそもそういうつまずくケースがなければbashなのかzshなのかはどちらでもいい問題ですからね)ですので、今後は自分がつまずいてしまったケースを紹介していければと思います。