以下の内容はhttps://tech.guitarrapc.com/entry/2013/04/20/220409より取得しました。


Amazon AWS EC2 でzshを使ってみよう

AWS楽しいです。ただ、Bash力が低くBashは痒いところに手が届かない感じです。

例えば、オプションが分からなかったり、補完で一覧を出してくれなかったり。これはPowerShellにも言えることですが、Bashだとうまくできない。。

zshで解決すると聞いてさっそく試してみました。

takeshikに感謝です。

経緯

zshとは

この辺の記事がとてもわかりやすいというか魅力を感じさせてくれます。

特に、zshという選択肢にある「ファイル指定と展開」を見て興奮しました。オプション内容も出るしヒストリ追える、AliasもPowerShellみたいに作成できるし、補完も強力です。

AWSのデフォルトシェル

現在のシェル環境を見るとbashですね。

$ echo $SHELL
/bin/bash

存在するシェルを調べても、zshはありません

$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/ksh

zshをインストールする

インストールはyumから簡単です。

$ sudo yum install zsh

yum install後、zshがシェルに追加されます。

$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/ksh
/bin/zsh

zshの初期設定ファイル .zshrc を作る

ホームディレクトリ (EC2の場合は/home/ec2-user/)に.zshrcを作成します。

cd ~
vim .zshrc

まずはテキトーに設定をいれます。

# 補完機能の有効化
autoload -U compinit
compinit
# cdなしでディレクトリ名でcd
setopt auto_cd
# cdの履歴を利用して移動
setopt auto_pushd
# コマンドのスペルチェック
setopt correct

コマンドのミスを指摘してくれます。スペルミスがちょっとは安心ですが、万能感はないです。

素敵なzshrc

たけしけーさん (@takeshik)

Gitでお借りしました。

gist

Windowsでは、英語が入っていないとgit cloeしたファイルの文字コードがsjisになっててAWSにWinASCP等で転送すると死にます。

文字コード utf8
改行コード LF

AWSのデフォルトシェルをbashからzshに変更する

現在のシェル環境はyumでインストールされただけでは、変わらずbashです。

echo $SHELL

bashですね。

/bin/bash

zshをデフォルトシェルにするには、chshをします。ただし、suが必要かつec2-userへの適用なのでこうします。

sudo chsh ec2-user

プロンプトで、zshのフルパスを指定します。

/bin/zsh

デフォルトシェルを確認すると

echo $SHELL

zshになりました。

/bin/zsh

一度sshを抜けて再度ログインで適用

.zshrcは一度ログインを抜ければ適用されるのが楽かな? さぁ、ログインしなおしたら貴方も楽しいzsh生活が送れます。

総括

みほさん (@mfakane)

guitarrapc_techさん (@guitarrapc_tech)




以上の内容はhttps://tech.guitarrapc.com/entry/2013/04/20/220409より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14