WebDesigner's Memorandumウェブデザイナーの備忘録

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のインストール

これでzshのインストールはできました。
ただ、ターミナルはbashを使用する設定のままなので、zshを使用する設定に変更します。

シェルの切り替え

/etc/shellsのファイルを開いて最終行に下記の1文を追加します。

/usr/local/bin/zsh

管理者権限が必要なファイルなので保存時にMacのログインパスワードを入力する必要があります。
自分の場合はVisual Studio Codeで開いて編集しました。

Sudo権限で再試行

保存できたら下記のコマンドを入力してデフォルトのシェルをzshに変更します。

$ chsh -s /usr/local/bin/zsh

あとはターミナルを再起動すれば、今まで「$」だった記号が「%」に切り替わっているはずです。

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/zsh

zshの便利なプラグイン

zshではプラグインをインストールすることで、ターミナルを更に便利にカスタマイズできるようです。bashの時は「とにかくデフォルト」という感じだったのですが、zshではかなり自分好みのターミナルにできそうです。

ひとまず、気になったプラグインをまとめておきました(また試して記事にします)。

プラグイン名プラグイン内容
oh-my-zsh設定フレームワーク
preztooh-my-zshの後発プラグイン
tigGitブラウザ
tmux端末多重化
zsh-autosuggestions補完機能をより強力にする
peco補完機能をより強力にする
zsh-completions補完機能をより強力にする

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね