Z Shellを使いこなして最強になる 〜移行編〜

2020-10-23
岡野 洋平
#
zsh
#
#

岡野です。

弊社代表である山下さんはバリバリのエンジニアでもあります。

山下さんのターミナル環境はとても便利そうだなと思っており、いずれマネしたいなと思っていました。

そんな折、技術的な事を教えてもらっている時に

「〜〜〜俺が使っているのはZ Shellなんだけど〜〜〜」

とキーワードを耳にしました。

Z Shellというキーワードを脳内にピン留めし、

とうとう今日、手を付けます。

Z Shell王に、俺はなる!!!

※本記事はmacOSでの操作を前提としています。

まずまずシェルってなんぞ?

色々調べてみましたが、人からの入力をコンピュータに伝えるプログラムとのことです。

Wikiには以下の記載が。

シェルはオペレーティングシステム(OS)があるような高機能なコンピュータにおいて、ユーザーのためにインタフェースを提供するコンピュータプログラムであり、オペレーティングシステムが提供する機能へのアクセスを提供する。

シェルにもいくつか種類があるようで、以下に一部を記載します。

  • Bourne Shell (sh)
  • Almquist Shell (ash)
  • Debian Almquist shell (dash)
  • Bourne-Again shell (bash)
  • KornShell (ksh)
  • Z Shell (zsh)
  • Yet another shell (yash)
  • C Shell (csh)
  • TENEX C shell (tcsh)
  • Emacs shell (eshell)

Z Shell (zsh)ってなんぞ?

zshについて調べていると以下のキーワードをよく見かけます。

  • 最強
  • 全てのシェルのいいとこ取り
  • 便利過ぎて鼻息荒くなる

なんだかとんでもないシェルのようです。

macOSではmacOS 10.15 Catalinaからデフォルトのシェルとして設定されているとのこと。

zsh環境を作る

まずは現在使用しているシェルを確認してみましょう。

% echo $SHELL
/bin/bash

私はbashでした。

次に変更可能なシェルの一覧を確認します。

% 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

最後にzshがいますね。こいつに変更しましょう。

変更コマンドは以下です。

% chsh -s /bin/

変更されたことを確認しましょう。

% echo $SHELL
/bin/zsh

変更完了です!

と、ここで気になったことがあります。

zshのバージョンです。

シェルもアップデートされることがあるのではないでしょうか。

現時点でのzshの最新バージョンは5.8のようですすが、

今設定したzshのバージョンはいくつなのでしょうか?

% zsh --version
zsh 5.3 (x86_64-apple-darwin18.0)

古い。。。

しかもアップデート方法が調べても分からない。。。

ということでbrewでインストールすることにしました。

brewならupgradeもできるでしょうし。

まずはbrewからインストール。

% brew install zsh

次に変更可能なシェルリストに今インストールした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 ←ここ追加

インストールしたzshに変更します。

% chsh -s /usr/local/bin/zsh

変更されたことを確認。

% echo $SHELL
/usr/local/bin/zsh

ここでポイント。ターミナルを再起動です。

しないと変更が反映されません。

そしてバージョン確認。

% /usr/local/bin/zsh --version
zsh 5.8 (x86_64-apple-darwin18.7.0)

最新です!

試しにbrew upgradeを試してみましょう。

% brew upgrade zsh
Updating Homebrew...
Warning: zsh 5.8 already installed

これは新バージョンがあればアップデートしてくれそうな雰囲気!

設定の引っ越し

変更前はbashを使用していたので、.bashrcや.bash_profileに定義していた内容を、

zsh用のファイルに転記しましょう。

環境変数系は.zshenv操作に関する設定は.zshrcに記載するようです。

最後にsource ~/.zshrcで反映。

最後に

ここまででzsh環境への移行が完了しました。

しかし、これではまだまだ最強とは言えません。

次回は最強に近づくためにzshの設定を追加していきたいと思います!

最強!

株式会社Grandreamでは、フルリモートであなたのスキルを活かし、活躍できるエンジニアを募集しております。 詳しくは採用ページをご確認いただき、お気軽にお問い合わせください。

株式会社グランドリームでは、AWSを駆使した開発からUI/UXデザインまで、Webアプリケーションに関するすべての要望に応えます。
まずは一度お気軽にご相談ください。

お問い合わせはこちら