FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

zshを使用してみよう!

はじめに

はじめまして、加藤と申します。
CUIでの作業が多いため普段から何かと使用するシェルですが、もっと便利に活用できたらなと。
そんな思いで以前から少し気になっていたzshと戯れてみようかなと思います。

0. zshとは?

  • UNIXのコマンドシェル(よく使用されているのはbash
  • タブ補完が強力
  • 柔軟性があり自在にカスタマイズが可能

1. 現在のシェルを確認

標準ではbashが設定されていることが多いようです。

$ echo $SHELL
/bin/bash

2. 使用可能なシェルを確認

一覧にzshがあることを確認できます。

$ cat /etc/shells

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

ついでにこれでzshのみに絞れます。

$ cat /etc/shells | grep zsh

/bin/zsh

3. zshを起動

zshを起動すると、$が%に変わりました!
終了すると、また$に戻りました!(これらの変化は環境によって異なるかもしれません。)

$ zsh # zshを起動
% ps 
  PID TTY           TIME CMD
39650 ttys000    0:00.03 -bash
39748 ttys000    0:00.39 zsh # zshが起動していることを確認
% exit # zshを終了
$

4. ログインシェルをzshに変更

zshが起動することを確認できたので、次はログインシェルをzshに変更します。
こうすることで、ログイン時に自動でzshが起動します。

$ chsh -s /bin/zsh
# ログインパスワードを入力
$ exit

再び起動すると、zshが起動しているのが確認できます。
zshの導入は非常にシンプルですね。

5. zshの設定ファイルをいじってみる

デフォルトのままでも良いのですが、せっかくなので少し変更してみようと思います。
bashの設定は.bashrcに記述しますが、zshでは.zshrcに記述します。

% cd
% ls -a | grep .zshrc # .zshrcが 存在するかを確認
.zshrc
.zshrc.swo
.zshrc.swp
% touch .zshrc # 存在しなければ新たに作成
# 設定ファイルの編集
% source ~/.zshrc # 再起動せずに設定の変更を反映

sourceコマンドを実行しないと変更が反映されないので注意してください。(再起動でも反映可)
設定ファイルは色々と公開されており、シンプルなものから凝ったものまで様々です。
参考までにいくつかピックアップしてみました。

探してみれば山ほど出てきます。
いちから自分で記述をしなくても、簡単にカスタマイズができるので是非やってみてください。
また、おすすめがあれば是非教えて欲しいです。
まずは、気になっているoh-my-zshを導入してみようと思います。

おわりに

簡単ではありますが、ここまでzshの導入から設定ファイルの編集までを行ってきました。
しかし、まだまだ勉強不足なのでzshの恩恵を受けきれていません。
設定ファイルの詳細やzshの感想などは次回にしたいなと思います。