Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2824

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

$
0
0

今更ながら、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とかをいろいろカスタマイズしているので、まだまだ微調整が必要だと思いますが、ひとまず移行は完了。


Viewing all articles
Browse latest Browse all 2824

Latest Images

Trending Articles