はじめに
Macのシェルがbashからzshに変わったと聞いたんですが、
手元のMacのiTerm2を起動するとbashのままだったので、
zshに変更してみました。
その時のメモを残しておきます。
<手元のMac>
os: macOS Catalina バージョン 10.15.6
terminal: iTerm2 build 3.3.12
iTerm2を起動するとメッセージが出てる
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.
https://support.apple.com/ja-jp/HT208050
に詳しく書いてありました。しかも、日本語!ありがたい。
現在使ってるシェルを調べる
$ echo $SHELL
で調べられるみたいです。
私のMacでは
/bin/bash
と表示されました。
デフォルトシェルをzshに切り替える
上記のメッセージに書いてった下記のコマンドを叩きます。
$ chsh -s /bin/zsh
パスワードを聞いてこられるのでパソコン(Mac)のパスワードを入力します。
よし、シェルが変わったかどうか調べます。
$ echo $SHELL
/bin/bash
うーん。。。bashのままですね。
ターミナルを一旦閉じて、開き直してみます。
↓
今度は上述のメッセージが表示されませんでした。
% echo $SHELL
/bin/zsh
おぉ、zshに変わってますね。
コマンドを入力する左側に表示されている記号も
$ から % に変わってますね。
設定ファイルを移植します。
Appleの記事に書いてありました。
bash プロファイルを使って、環境変数、エイリアス、パス変数の設定などをしている場合は、それに相当する zsh のプロファイルを使うように切り替えてください。たとえば、以下のような場合が考えられます。
.zprofile は .bash_profile に相当し、ログイン時 (SSH ログインも含む) に実行されます。
.zshrc は .bashrc に相当し、新しいターミナルセッションごとに実行されます。
.bash_profile -> .zprofile
私のMacの「~/.bash_profile」ですが、
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
とだけ書かれてました。
書いた記憶はないですが、とりあえずこれをこのままコピーするのも変ですよね。
if [ -f ~/.zshrc ]; then
. ~/.zshrc
fi
と書き換えて「~/.zprofile」に書き込みました。
.bashrc -> .zshrc
~/.bashrc の内容を ~/.zshrc というファイルにコピペしました。
おわりに
まだ、zshになったから何がどうなのって所まで理解できてませんが、
徐々に色々と勉強してみようと思います。
おわり。