363 文字
2 分
Linuxのデフォルトshellをzshに変更する
2018-11-18
2024-12-30

基本的にbashよりzsh派なのですが、毎回デフォルトのshellを変更する方法を忘れるので設定方法を記録に残しておきます。

今回は、CentOS 7.5を使用します。

zshがインストール済みか確認#

まずはzshがインストール済みかどうか確認です。インストール済みの場合はこのように表示されます。

Terminal window
$ which zsh
/bin/zsh

インストールされていない場合はこのように表示されます。

Terminal window
$ which zsh
/usr/bin/which: no zsh in (/usr/local/bin:/bin/:usr/bin:/usr/local/sbin:/usr/sbin)

インストールされていない場合はyumコマンドでインストールします。Debian系のLinuxを使用している場合はaptコマンドを使ってください。

Terminal window
$ sudo yum install zsh

デフォルトshellの変更#

まずは、zshが使用できるかどうか確認します。

Terminal window
# -lオプションで使用できるshell一覧を表示。zshが含まれていることを確認
$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/zsh # <- これ

Ubuntuとかだと-lオプションがないと怒られる場合があります。その場合、以下で同様のことを確認できます。

Terminal window
$ cat /etc/shells # /etc/shells: valid login shells/bin/sh/bin/bash/bin/rbash/bin/dash/usr/bin/tmux/bin/zsh/usr/bin/zsh

デフォルトのshellをzshに変更します。

Terminal window
# -sオプションでデフォルトshellの種類を変更
$ chsh -s /bin/zsh

これで、次回ログイン時からはzshがデフォルトで起動するようになります。

現在のデフォルトシェルに何が設定されているかは、こちらをご覧ください。