Macの標準のログインシェルはbashですが、
zshという便利なシェルがあるみたいなので、導入してみます。
環境:MacOSX 10.9.4
シェルとはなんぞや?
ユーザの操作を受け付けて、与えられた指示をOSの中核部分に伝えるソフトウェア。キーボードから入力された文字や、マウスのクリックなどを解釈して、対応した機能を実行するようにOSに指示を伝える。WindowsではExplorerやコマンドプロンプトが、Mac OSではFinderが、UNIX系OSではbashやcshなどがシェルにあたる。UNIX系OSではシェルをユーザの好みに応じて選択することができる。
シェルとは 【 shell 】 - 意味/解説/説明/定義 : IT用語辞典
コマンドを使ってプログラム起動したり、インターネットからダウンロードしたり、GUIでできることをコマンド使ってできるよーってソフトです。
bashとはなんぞや?
bashはそれ以前に存在したBourneシェル(コマンド名はsh)の後継として開発され、その名称は“Bourne”と“Born Again”をかけたものとも言われる。Kornシェル(ksh)やCシェル(csh)などの持つ要素も取り入れられ、コマンド履歴やコマンド名の自動補完など今日では標準的に使われる多くの機能を実装している。
zshとはなんぞや?
Z shell(zsh, 英語発音: [ziː ʃel])はUnixのコマンドシェルの1つである。 対話的なログインコマンドシェルとしても、強力なシェルスクリプトコマンドのインタープリターとしても使うことができる。
zsh は数多くの改良を含んだBourne Shellの拡張版という見方もできる。のみならず、bashやksh、tcshの非常に有用な機能も一部取り込まれている。
なんと、bashやその他のshellの良いところをとりこんだ素晴らしいshell とのこと。
zshの良いところ
- コマンド補完機能が充実している
- 複数のzsh内で、コマンド履歴を共有できる
- コマンドのスペルミスを修正してくれる
- bashの振りをしてコマンドを実行することができる
- 文字の色分けなど、カスタムテーマを適用できる
- カスタマイズできないところは無いと言っても良い
すぐに恩恵を受けられそうなのは、補完機能、typo修正、テーマなどでしょうか。
楽しみ。
zsh をインストールする
Homebrewで最新版をインストールできます。
まずは、brewアップデートしときましょう。
$ brew update … $ brew doctor Your system is ready to brew.
問題無ければインストールします。
Mac の場合、zsh起動時にPATHが書き換えられてしまうという問題があるので、
"--disable-etcdir"オプションを付加してインストールします。
$ brew install --disable-etcdir zsh … ==> Summary 🍺 /usr/local/Cellar/zsh/5.0.6: 1084 files, 11M
インストールできたのでバージョン確認しておきましょう。
$ zsh --version zsh 5.0.2 (x86_64-apple-darwin13.0)
うん。バージョンが違う。
なんでなのか調べたところ、Homebrewでインスト−ルしたものは、
/usr/local/Cellar 配下に格納され、
/usr/local/bin にコマンドのエイリアスが作成されるみたいです。
$ ls -l /usr/local/bin/zsh lrwxr-xr-x 1 tokoyax admin 27 9 6 17:03 /usr/local/bin/zsh -> ../Cellar/zsh/5.0.6/bin/zsh
$ /usr/local/bin/zsh --version zsh 5.0.6 (x86_64-apple-darwin13.3.0) $ /bin/zsh --version zsh 5.0.2 (x86_64-apple-darwin13.0)
なるほどなー。
ログインシェルを zsh に変更する
さて、本題です。
/usr/local/bin/zsh にインストールされた最新版のzshを使うための設定をしていきます。
インストールされているシェルとそのパスを確認します。
$ cat /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh
/usr/local/bin/zsh を追加しましょう。
$ sudo vi /etc/shells # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh /usr/local/bin/zsh
ログインシェルを変更します。
$ chsh -s /usr/local/bin/zsh …パスワード入力
[ -s ] オプション :変更するシェルを指定する
これで、ターミナルを起動するとzshが起動するようになります。
zsh の設定
一から調べて設定するのは大変なので、
oh-my-zshというzshの設定管理ソフトを導入してみます。
プラグインなども公開されており、簡単に便利な機能が追加できるようです。
下記コマンドでインストール。
$ curl -L http://install.ohmyz.sh | sh
https://github.com/robbyrussell/oh-my-zsh
インストールが完了したら、ターミナルを再起動します。
➜ ~
プロンプトが矢印になって、色がついています。
便利なプラグインも入れておきましょう。
~/.zshrc を編集します。
$ vi ~/.zshrc … plugins=(git)
pluginsの項目に色々追加していきます。
plugins=(git ruby osx bundler brew rails emoji-clock)
編集が終わったら設定ファイルの再読み込みを行います。
$ source ~/.zshrc
テーマの変更をしてみます。
デフォルトでは、
$ vi ~/.zshrc … ZSH_THEME="robbyrussell"
robbyrussell というテーマになっています。
テーマは、
Themes · robbyrussell/oh-my-zsh Wiki · GitHubに公開されているので、
お気に入りのテーマを見つけたら、ZSH_THEME に設定して、設定をリロードさせれば反映できます。
私は、terminalparty というテーマにしています。
あとは、使いながらカスタマイズして変更があれば記事を追加していくことにします。

- 作者: 広瀬雄二,A5
- 出版社/メーカー: 技術評論社
- 発売日: 2009/06/17
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 126回
- この商品を含むブログ (35件) を見る

- 作者: 中島能和
- 出版社/メーカー: 翔泳社
- 発売日: 2008/12/04
- メディア: 単行本(ソフトカバー)
- 購入: 7人 クリック: 175回
- この商品を含むブログ (50件) を見る