Z Shellを導入する話です.


Z Shell

Linux シェルとか,Mac OSターミナルでは,CLIインターフェイスとしてシェルを使うことができます. デフォルトではbashが使用可能になっていますが,シェルには他にも種類があるらしい.

[~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
[~]$ echo $SHELL
/bin/bash
[~]$

その中でも,Z Shellというのが使いやすいと聞き,入れてみました. 色々便利な機能があるらしいのですが,僕はコマンド補完機能と強力なhistoryコマンドが好きです. このZ Shellを使えるところまで持って行く話をまとめておきます.


参考

以下のサイトを参考にしています.

[Z Shell] http://ja.wikipedia.org/wiki/Z_Shell

[ZSHのインストール] http://linuxserver.jp/linux/zsh%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB.php


 

シェルの確認

以下のようにして,現在インストールされているシェルと現在使用中のシェルを確認します.

[~]$ cat /etc/shells # 現在インストールされているシェルを表示
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
[~]$ echo $SHELL # 現在どのシェルを使用する設定になっているか表示
/bin/bash
[~]$

これを見ると,現在Z Shellはインストールされておらず,bashを使用中であるとわかります.

(余談ですが,2014年9月に見つかったbashの脆弱性: Shellshockに関連して,これまでbashをデフォルトのシステムシェルとしてきたいくつかのOSが,bashから他のシェルに変更する動きが強くなっているようです. [Fedora Shellshock対策としてbashからdashへ変更検討] http://news.mynavi.jp/news/2014/10/06/082/


 

Z Shellのインストール

[~]$ yum -y install zsh
[~]$ zsh –version
zsh 4.3.10 (x86_64-redhat-linux-gnu)
[~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/zsh

Z Shellとしてzshがインストールされたことが確認できました.


 

Z Shellのセットアップ

まず,使用するシェルをzshに変更します.

[~]$ chsh
user のシェルを変更します。
新しいシェル [/bin/bash]: /bin/zsh # パスワードを入力
シェルを変更しました。
[~]$ echo $SHELL
/bin/zsh

次にzshの初期設定を行います. インストール直後にzshコマンドを打つと,設定のためのメニューが出てきます.

[~]$ zsh
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time
(0) Exit, creating the file ~/.zshrc containing just a comment.
 That will prevent this function being run again.
(1) Continue to the main menu.
— Type one of the keys in parentheses —

ここで”0” (ゼロ)を入力すると,ホームディレクトリに”.zshrc” という設定ファイルが生成されます. touchコマンドで.zshrcファイルを作成してもよし.

.zshrcに以下の内容を書き込みます.

[~]% cat .zshrc

Created by newuser for 4.3.10

文字コード

export LANG=ja_JP.UTF-8

autoload colors colors

補完機能

autoload -U compinit compinit

コマンド履歴

HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000

重複する候補を表示しない

setopt hist_ignore_dups

端末間で履歴を共有

setopt share_history

最低限以上が設定できていればよいかと思います.

場合によっては

source .zshrc
で編集したファイルを適用させる必要があるようです.

おすすめの設定があれば教えていただきたいです.