Linuxのデフォルトshellをzshに変更する

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

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

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

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

$ which zsh
/bin/zsh

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

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

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

$ sudo yum install zsh

デフォルトshellの変更

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

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

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

$ 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に変更します。

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

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

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

Linuxのデフォルトシェルを確認する
久しぶりにログインしたLinuxサーバで、デフォルトで使用しているシェル何だっけ?となった上に確認方法を忘れていたのでメモです。 確認方法 これで確認できます。 $ echo $SHELL /bin/bash 参考: デフォルトシェルの変更...

参考:

デフォルトのShell を変更する

コメント