Macのデフォルトシェルをbashからzshへ変更する方法

今までデフォルトだったからという理由でずっとbashを使っていたのですが、WWDC19の発表でmacOS 10.15 Catalinaでデフォルトシェルがbashからzsh(Z Shell)に変わることが判明しました。
そうなってくるとあえてbashを使う意味もないなと思い、今のうちからzshに変更して色々試しておこうと思いました。
zshの特徴
もともとzshはスゴイと聞いてはいたのですが、そこまでターミナルをガッツリ使っているわけではないので放置してきましたが、zshはbashが提供する機能に加えてプラスアルファの機能が組み込まれているようです。
Zshは、Bashが提供する機能に加え、初心者と上級者の両方のCLIユーザーにとって便利な機能が数多く組み込まれています。
Zshは数々の優れた機能を提供しており、Bashに対する欠点はほぼなく、便利に利用できます。
オープンソースのBashとZshを比較
- コマンドの補完機能がついている
- プラグインを導入することで更に便利にカスタマイズできる
zshのインストール方法
zshのインストール
zshはHomebrewを使って導入します。Homebrewをまだインストールしていない方は、過去記事を参考にインストールを行なってください。
インストールしている場合は、下記のコマンドでzshをインストールします。
$ brew install zsh
これでzshのインストールはできました。
ただ、ターミナルはbashを使用する設定のままなので、zshを使用する設定に変更します。
シェルの切り替え
/etc/shellsのファイルを開いて最終行に下記の1文を追加します。
/usr/local/bin/zsh管理者権限が必要なファイルなので保存時にMacのログインパスワードを入力する必要があります。
自分の場合はVisual Studio Codeで開いて編集しました。

保存できたら下記のコマンドを入力してデフォルトのシェルをzshに変更します。
$ chsh -s /usr/local/bin/zshあとはターミナルを再起動すれば、今まで「$」だった記号が「%」に切り替わっているはずです。

権限の設定
ターミナルを立ち上げたときに下記のエラーが表示される場合は権限の設定をする必要があります。
Ignore insecure directories and continue [y] or abort compinit [n]? y下記の2つのコマンドを入力すればOKです。
$ chmod 755 /usr/local/share/zsh/site-functions
$ chmod 755 /usr/local/share/zshzshの便利なプラグイン
zshではプラグインをインストールすることで、ターミナルを更に便利にカスタマイズできるようです。bashの時は「とにかくデフォルト」という感じだったのですが、zshではかなり自分好みのターミナルにできそうです。
ひとまず、気になったプラグインをまとめておきました(また試して記事にします)。
| プラグイン名 | プラグイン内容 |
|---|---|
| oh-my-zsh | 設定フレームワーク |
| prezto | oh-my-zshの後発プラグイン |
| tig | Gitブラウザ |
| tmux | 端末多重化 |
| zsh-autosuggestions | 補完機能をより強力にする |
| peco | 補完機能をより強力にする |
| zsh-completions | 補完機能をより強力にする |



Alfredで複数のアプリケーションを一気に起動できるようにする
BetterTouchToolでトラックパッドの端っこのクリックを無効化して、手が軽く触れることによる誤操作を防止する
ウインドウを画面の上にドラッグしたときに、Mission Controlが起動するのを無効化する方法
HyperSwitchでアプリ・ウインドウ間の切り替えを素早く行う
Stationで複数のGoogleアカウントでGoogle Driveを使用する方法
BetterTouchToolでウィンドウが最大化された状態で「ウィンドウを右に最大化」すると左に移動してしまう問題
ATOKで選択した単語の意味を素早く調べられる「ATOKイミクル」の使い方
MAMPでhtdocs内に複数のローカルホストを作成する方法
散らかりがちなMacのメニューバーをBartender 3でキレイに整理する
macOSのシステム環境設定「Mission Control」の設定見直し
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う