CUIでコマンドを叩いてると、終了コードが気になることが多いんだけど。
毎回 echo $?
を叩いて確認するのは面倒だし、
確認し忘れて別のコマンドを叩いてしまうと、
2つ前の終了コードを失ってしまってうあああってなる。
それを防ぐべく、PS1をほげほげして常に直前の終了コードを
プロンプトで表示するようにした。
ついでに顔文字を使って、喜びと残念さも味わえるようにしてみた。
使ってる環境
- OS: CentOS 6.6
- ターミナル: Windows PuTTY ごった煮版 (SSH経由)
コード
こんなコードを ~/.bash_profile
に追記した。
全ユーザに適用して良ければ /etc/profile.d
の中に
ファイルを作成してもいいと思う。
全部まとめて1行で書くことも出来るけど、
読みやすさ重視して変数/ファンクションを多用してる。
あと、普段からGitを使ってるので、ブランチ名も常に表示してる。
# Colors _ps1_red="\e[31m" _ps1_green="\e[32m" _ps1_yellow="\e[33m" _ps1_blue="\e[34m" _ps1_purple="\e[35m" _ps1_cyan="\e[36m" _ps1_reset="\e[00m" # PS1 parts function _ps1_result() { code=$? if [ ${code} == 0 ]; then echo -e "${_ps1_blue}"'(っ*´∀`*)っ OK!!'" [${code}]${_ps1_reset}" else echo -e "${_ps1_red}"'(。´・ω・`) NG...'" [${code}]${_ps1_reset}" fi } _ps1_user="${_ps1_green}\u@\h${_ps1_reset}" _ps1_dir="${_ps1_cyan}\w${_ps1_reset}" function _ps1_git() { echo -e "${_ps1_yellow}$(__git_ps1 2>/dev/null)${_ps1_reset}" } _ps1_prompt="\$ " # PS1 export PS1="\n\$(_ps1_result)\n${_ps1_user}:${_ps1_dir}\$(_ps1_git)\n${_ps1_prompt}"
表示結果
できた。便利。かわいい。
Macのターミナルなら絵文字も使えるのかもなー。
PuTTYは少し設定必要
PuTTY では全角文字の表示幅が潰れてしまった。
[ウィンドウ]->[変換]->[CJK用の文字幅を使用する] を
チェックしておくといいみたい。