筆者は2014年ぐらいに購入したMacbook Proを使用しているため、長年Bashをデフォルトのシェルとして利用してきました。 macOS Catalina(2020年4月現在最新)では、デフォルトのシェルがbashからzshに変更になりました。 そこで、前からbashを利用しているユーザーは、bashでターミナル起動時に以下のようなメッセージが表示されるようになりました。

デフォルトシェルの変更

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2020年04月30日

筆者は2014年ぐらいに購入したMacbook Proを使用しているため、長年Bashをデフォルトのシェルとして利用してきました。

macOS Catalina(2020年4月現在最新)では、デフォルトのシェルがbashからzshに変更になりました。

そこで、前からbashを利用しているユーザーは、bashでターミナル起動時に以下のようなメッセージが表示されるようになりました。

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

「デフォルトのシェルがzshに変更されたので、zshを使うためにアップデートするならchsh -s /bin/zshコマンドを実行してね」という感じですね。

下に記載してあるAppleのページに飛ぶと詳細が見れるようです。

今回はそのデフォルトシェルの変更について少し解説しようと思いましたが、Appleのページがかなりきちんと説明されていたので、変更するだけであればそれを読んでいただいたほうが早いでしょう。

そのため、今回は上に記載してあるchsh -s /bin/zshコマンドについて少しだけ解説して当記事は終わりにします。

コマンドからシェルを変更する

先程記載したchshコマンドはユーザーの情報を書き換えるコマンドです。chpassまたはchshを利用します。
このコマンドだけを実行するとユーザーの情報を書き換えるためのエディタが起動します。

ユーザーの情報にはホームディレクトリ・フルネームなどのちょっとした情報が入っていて、これを書き換えるのは本人だけでないといけないので、コマンド実行後にユーザーのパスワードを要求されます

詳細はman chpassman chshコマンドを実行すれば説明を見ることができます。

シェルだけを変更したい場合

多くの場合ユーザーの情報を何回も書き換えることはないので、デフォルトシェルだけを変更したい場合に備えたオプションがあります。それが-sです。

chsh -s /bin/zshのようにオプションの後ろに変更したいシェルのパスを指定すれば、次回ログイン時からデフォルトシェルが変更されます。

現在のシェルの確認

現在の動作しているシェルを確認したい場合にはecho $SHELLを実行すれば、実行しているシェルのパスが表示されます。

$echo $SHELL
/bin/zsh

どんなシェルに変更できるのか

デフォルトシェルを変更すると言ってもどんなシェルがあるのかわからないとパスを入力できません。

そこで、対応するシェルのパス情報を出力するコマンドを以下に記載します。

$cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

こんな感じでcat /etc/shellsを実行すれば一覧で出力されます。

それぞれの特徴は各自調べながら好きなシェルを利用していきましょう。