こんなページを見てmacOSのコマンドでzshを利用することができると知り、早速設定することにしました。
まずはmacOS Sierraで使えるシェルですが、こんな感じになっています。デフォルトでzshが入っているようです。
ytooyamachome% 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
気になるバージョンですが、Sierraの場合はバージョン5.2でした。 現時点の最新版みたいです。
ytooyamachome% /bin/zsh --version zsh 5.2 (x86_64-apple-darwin16.0)
システムのシェルの切り替えは「システム環境設定→ユーザートグループ」パネルを開き、左下のロックを外したあと、ログインシェルを変えたいユーザーを右クリックして「詳細なオプション」を開いて設定します。ログインシェル以外は変更しないほうがいいです。設定を変えて「OK」ボタンを押すだけで次に開くターミナルからzshが使われるようになります。
ちなみに私は次のサイトを参考にzshの設定をしてみました。
qiita.com d.hatena.ne.jp qiita.com
コマンドオプションまで補完されたりして作業がはかどります。 やばい、マジでzsh便利。今立ち上げているテスト環境全てをBashからzshに変えたい気分。特にtracerouteとかpingとかsshで最近接続したホスト名が選択候補に出てきたのには感動しました。ちなみに補完は「tab」キーで行います。これなら--helpを見なくてもオプションが見えて便利ですね。
最後に私の.zshrcと.zsh_aliasを貼り付けます。
.zshrc
autoload -U compinit compinit export HISTFILE=${HOME}/.zsh_history export HISTSIZE=2000 export SAVEHIST=2000 setopt EXTENDED_HISTORY setopt hist_ignore_space setopt hist_ignore_all_dups setopt hist_save_no_dups setopt hist_no_store setopt share_history if [ -e ~/.zsh_alias ]; then source ~/.zsh_alias else echo "~/.zsh_alias is not found." fi
.zsh_alias
#alias alias ls="ls -F" alias lsusb="system_profiler SPUSBDataType" alias delssh="ssh-keygen -R" alias sha1sum="openssl sha1" alias calc="bc"
system_profiler SPUSBDataType
はmacOSでlsusbコマンドっぽいことを実現するコマンドです。