【ターミナル】Mac のログインシェルを zsh に変える

Macbook Pro でターミナルを開いたら下記のメッセージが表示された。

原文:

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`を実行してください。
詳細については、https://support.apple.com/kb/HT208050をご覧ください。

つまりどういうこと?

どうやら Mac OS Mojave まではターミナルにログインした時にデフォルトで bash というシェルが使われていたのが、今度から zsh になったのであなたのコンピュータでもそうしませんかということらしい。

シェルとは

シェルとは、ユーザーが入力したコマンドをコンピュータに伝え、OSがそれを実行するプログラム。sh、csh、bash、fish、今回変更を促されている zsh など色々の種類がある。

Apple サポートによると、zsh は sh との互換性が高く、bash とも若干の違いはあるものの、互換性があると言って差し支えないとのこと。まあ、zsh にして問題ないということかな。

chsh -s /bin/zsh の意味

冒頭のメッセージに「chsh -s /bin/zsh」を実行する様書いてあるが、どういう意味なのか。

  • chsh:ユーザーのログイン shell の属性を変える。ログインシェル(ログインして最初に動き出すシェル)を変更する時に使う。
  • -s /bin/zsh:シェルを /bin/zsh に指定する。

つまりそのまま、『ログインシェルを「/bin/zsh」に変更する』という事らしい。

「システム環境設定」から設定する方法

下記のApple 公式サポートページで「デフォルトシェルを変更する方法」の部分を見ると、システム環境設定から変更する方法コマンドラインから変更する方法の両方の記載があります。

zsh を Mac のデフォルトシェルとして使う」(冒頭のメッセージに記載の URL の日本語版)

私の様な初心者にはシステム環境設定の画面の方がなんとなく安心感があるのでこっちの方法で変更しました。

公式サポートの画像の通り「ログインシェル」の部分を「/bin/zsh」に変えたところ、ターミナルを開いても冒頭のメッセージが表示されなくなりました。場合によっては再起動が必要かもしれません。