2
3

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 5 years have passed since last update.

Catalinaでシェルをbashからzshへ変更

Posted at

今更ながら、Catalinaでシェルをbashからzshに変えました。
すでにいろいろな方が変更手順を残していますが、私の場合、ちょっとだけ事例としては出てこなかったことがあったので、記録として残しておきます。

Catalinaにアップグレードしてから、ターミナルを開くと「デフォルトシェルはzshになったからね。chsh -s /bin/zshで変えといてよ。詳しくはchsh -s /bin/zsh見てね」と言われます。

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/kb/HT208050」に移行方法とか書いてありましたね。
注意書きはしっかり読めってことでした。
以下、私がbashからzshに変更した手順です

zshの確認をしてみます。

Air00:~$ which zsh
/bin/zsh
Air00:~$ zsh --version
zsh 5.7.1 (x86_64-apple-darwin19.0)

/binの中にアップルさんが用意してくれているので、HomeBrewとかでわざわざ入れる必要はありません。
brewで入れてもいいのですが、自分で管理するのが面倒なので、OSに入っているものを使います。

bashの設定ファイル「.bashrc」と「.bash_profile」はそのままzshに持っていけるというので、zshように書き出します。
cpで別名コピーでもかまいません。

Air00:~$ cat ~/.bash_profile >> ~/.zprofile
Air00:~$ cat ~/.bashrc >> ~/.zshrc

ほいでもって、ターミナルを立ち上げた時のメッセージに従って、シェルを変えます。

Air00:~$ chsh -s /bin/zsh
Changing shell for hogehoge.
Password for hogehoge: 

これでログインし直します。

ログインし直してターミナルを立ち上げると、こんなエラーが

/etc/bashrc:8: command not found: shopt
/etc/bashrc_Apple_Terminal:172: parse error near `;'
/etc/bashrc:8: command not found: shopt
/etc/bashrc_Apple_Terminal:172: parse error near `;'
update_terminal_cwd:11: unrecognized modifier `i'  
\h:\W$

bashrcが変だ、と。
いやいやzshなんだからbashrcが変だって、変でしょ?
それにプロンプト表示も変です。

「.zprofile」の中に「bashrc」というこんな記載が残っているので、

if [ -f /etc/bashhrc ]; then
        . /etc/bashrc
fi

vimで開いて「:s/bashrc/zshrc/g」とかで書き換えます。
同じように「.zshrc」の中にもbashrcという記載があるので書き換えます。

これでターミナルを立ち上げるたびに怒られなくなりましたが、プロンプトの表示がまだこれです。

 \h:\W$ 

これは元々.bashrcの中でプロンプトの記載を

PS1='\h:\W$ '

「コンピュータ名:デフォルトディレクトリ」のように変更していたのですが、これがzshと違うとのことなので、このように変更します。

PS1='%m:%~$

これでプロンプトが

Air00:~$ echo $SHELL
/bin/zsh

と、以前と同じように表示されました。

.bashrcとかをいろいろカスタマイズしているので、まだまだ微調整が必要だと思いますが、ひとまず移行は完了。

2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?