Homebrewでzshを導入する
普段の作業時 zsh
を使っています。
Macは最初からzshが附属していますが、Homebrewのzshを使う事でMacのバージョン等に依存せず、自分でzshのバージョンを管理出来るので便利です。
Homebrewのzshを使えるようにする
Homebrewのzshを使えるようにするためには2段階手順があります
- Homebrewでzshをインストール
- デフォルトで使用するシェルをHomebrewのzshに変更
1. Homebrewでzshをインストール
Homebrewの導入方法はこちらの記事を参考にして下さい
Macでのエンジニアリングが捗る!Homebrewの導入&使用方法 | Yuuの悠々自適Blog
Homebrewが使える事の確認
Homebrewが使えるかは下記のコマンドでバージョンが表示されればOK!
1 2 3 |
# Homebrewのバージョンを確認(brewが使える事の確認) $ brew -v Homebrew 1.6.3 |
Homebrewのzshをインストール
1 2 3 4 5 6 7 8 |
# Homebrewでzshをインストール $ brew install zsh Updating Homebrew... ・ 省略 ・ ==> Pouring zsh-5.5.1.high_sierra.bottle.tar.gz 🍺 /usr/local/Cellar/zsh/5.5.1: 1,444 files, 12MB |
インストール出来た事の確認
Homebrewを使ってインストールした zsh は /usr/local/bin
に格納されるので、以下のコマンドで正常にインストール出来たかを確認
1 2 3 |
# Homebrewでインストールしたzshのバージョンを確認(zshがインストール出来た事の確認) $ /usr/local/bin/zsh --version zsh 5.5.1 (x86_64-apple-darwin17.5.0) |
2. デフォルトで使用するシェルをHomebrewのzshに変更
現在使用しているシェルを確認するには以下のコマンドを使用します。
もし購入したばかりのMacの場合は以下のように bash
を使っているはずです。
(ちなみにMac標準のzshは /bin/zsh
になります)
1 2 3 |
# 現在使用しているシェルの確認 $ echo $SHELL /bin/bash |
/etc/shells に追記
デフォルトで使用するシェルを変更するために、 /etc/shells
の一覧にHomebrewでインストールしたzshのパスを追記します。
1 2 |
# リダイレクトを使って /etc/shells に追記 $ sudo sh -c "echo /usr/local/bin/zsh >> /etc/shells" |
sudo権限が必要、かつどうにかリダイレクトで出来ないか調べたらこんなやり方があるんですね!
こちらの記事を参考にさせていただきました。
sudoでリダイレクトをしたいとき - Web就活日記
もちろんvimを使っても構いません、というか今までそうやっていました。笑
vimを使う際はsudoが必要なので sudo vim /etc/shells
で
追記できた事の確認
最終行に/usr/local/bin/zsh
が追記出来た事を確認
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# catを使って確認 $ 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 #この行が追記されているはず |
今まで/etc/shells
がどういう役目を持っているかきちんと知らなかったので調べたところ
ログインシェルにできるプログラムをフルパスで記述する。ここに登録されていないプログラムをログインシェルにすることはできない。
超納得しました
デフォルトシェルの変更
chsh
を使うとパスワードの入力も求められるので、ログインしているユーザのパスワードを入力して下さい。
1 2 |
# ログインシェルを変更 $ chsh -s /usr/local/bin/zsh |
シェルの変更確認
ここまででデフォルトで使用するシェルが変更できています。
あとはターミナル(iTermならiTerm)を再起動し、以下コマンドで/usr/local/bin/zsh
が表示されれば成功です
1 2 3 |
# シェルの確認 $ echo $SHELL /usr/local/bin/zsh |
あとがき
sudo
やchsh
のような気を使うコマンドを使った作業お疲れ様でした!
zshはプラグインも色々あってそれらを導入すると更に便利になります。
僕は全然プロフェッショナルではないですが、少し使いこなせるだけでもかなり便利なので皆さんも良いzshライフを楽しんで下さい!