1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

bashからzshへ変更

Posted at

はじめに

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になったから何がどうなのって所まで理解できてませんが、
徐々に色々と勉強してみようと思います。

おわり。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?