ターミナルを開くと何か言われた
今まで気付いていなかっただけかもしれないけど、ターミナルを開いたら何か表示されていたので読んでみた。
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ですよって教えてくれているようです。
(macOS 10.15 Catalina以降はデフォルトのログインシェルがzsh、それまではbash)
シェルって?
シェル(英語: shell)はオペレーティングシステム(OS)があるような高機能なコンピュータにおいて、ユーザーのためにインタフェースを提供するコンピュータプログラムであり、オペレーティングシステムが提供する機能へのアクセスを提供する。
Wikipediaを読むとなんだか難しく感じるけれど、簡単に言うとターミナルなどでコマンドを入力することで動くプログラムのこと。
現在使用しているログインシェルを確認する
$ echo $SHELL
/bin/bash
この場合だと、ログインシェルはbashの状態。
使用可能なシェルを確認する
ホスト上で使用出来るシェルの一覧を確認してみる。
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
(色々あるようだが、正直シェルを意識して使用したことがないのでzshとbashくらいしか馴染みがない…。)
ログインシェルを変更する
ログインシェルを変更するコマンドはchsh。
オプションで-sの後に変更したいシェルを指定することが可能。
zshに変更してみる。(パスワードの入力を求められます)
$ chsh -s /bin/zsh
Changing shell for *****.
Password for *****:
再度ログインシェルを確認してみる。
$ echo $SHELL
/bin/bash
コマンドを叩いただけでは変更されないようです。
ログインシェルの変更を反映する
ターミナルを終了し、起動し直す、という手順が必要。
$ echo $SHELL
/bin/zsh
変更が反映され、ログインシェルがbashからzshになりました。
VSCodeのターミナルだとうまくいかない?
VSCodeのターミナルだと、ターミナルを起動し直しても、VSCode自体を起動し直しても、変更が反映されず。
設定がどうなっているか確認してみる。
chsh
オプションを付けずにchshコマンドを叩くと、vimで設定ファイルが開きます。
# Changing user information for *****.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Shell: /bin/zsh
Full Name: *****
Office Location:
Office Phone:
Home Phone:
Shellは間違いなくzshに変更されているようなので、うーーーん。
その後、何を試しても変更が反映されないので、ダメ元でPC自体を再起動してみた。
そして確認。
$ echo $SHELL
/bin/zsh
変更された!
設定変更の反映まとめ
通常のターミナルは ターミナルを終了し、起動し直す
VSCodeのターミナルは PCを再起動する