まいんだーのはてなブログ

はてブなのはてブロなのどっちなの

PS1を書き換えるやり方と効能

皆様YAPC::Asia 2012楽しんでますか。
私は発表が終わったので後は皆様のトークを楽しみに過ごそうかと思っております。

さて、先ほど自分の発表中で PS1 についての反応があったので up しておきます。

# PS1
function ps_exit() {
    a=$?
    if [ $a -ne 0 ]; then
        echo "/(^o^)\\"
    else
        echo "\\(^o^)/"
    fi
    exit $a;
}
PS_EXIT="\$(ps_exit)"
PS1="[\h \W ${PS_EXIT}]\\$ "

これを .bashrc とかに書いておけばいいです。簡単です。
この設定をしておけば例えばテストがこけた時、コマンドが失敗した時などに PS が

[hostname ~ /(^o^)\]$

になってくれるものです。
実は実際の環境でもこの設定は入れていて、より視覚的にわかりやすいように

[hostname ~ /(T-T)\]$ 

になるようにしています。
これには下記の様な効能があって、決して無駄に入れてるわけではないです。

  • 本番環境でのdeploy時に、失敗したなどが視覚的にわかりやすくなる。
  • 長いバッチプログラムを動作させた時にexitをちゃんとしてさえいれば視覚的にわかりやすくなる。

何も出してないと、そのコマンドが成功したか失敗したかわからないまま先に進んでしまってオペミスにつながったりするので、そういうのを未然に防ぐ意味でも入れといて損はないかと思います。