MANA-DOT

PIXEL ART, PROGRAMING, ETC.

zshでプロンプトのホスト名の色をホスト名によって変わるようにしてみた

いろんなサーバーでコマンド叩くことが多いけれど、間違って違うサーバーで打つつもりだったコマンドを打ってしまい、あばばってならないためにプロンプトのホスト名のところの色がホスト名によって変わるようにしてみた。

ホスト名をハッシュしてその値から色作ればいいかなとか考えていたら、ドンピシャなエントリが既にあったのでほとんど丸パクりさせていただいた。 http://absolute-area.com/post/6664864690/zsh

local HOSTCOLOR=$'%{\e[38;5;'"$(printf "%d\n" 0x$(hostname|md5sum|cut -c1-2))"'m%}'

hostnameをmd5して、先頭2文字で色を作る。zshの色の記法はちゃんと調べたことがないのでいまいちよくわかってないけど、これでホスト名によって違う色で表示されるようになる。 ちなみに、僕のzshはこれに加えて、ユーザーがrootだとプロンプトが赤くなるようにもしてある。 誤操作を防ぐために、個人的にはこういう見た目の小細工が大事だと思っている。

ついでなので、僕のzshrc をgithubで公開してみた。 https://github.com/manaten/dotfiles