ワタタツの日記
2005 年 11 月 9 日 (水)
☆ ちょっと前に作ったWX3[10]0(K|SA|J) を心待ちにしているすべての UNIXer へ 〜 特製プロンプト を発売日に変更せよ
WILLCOM 新端末こと WX3[10]0(K|SA|J) (WX310K, WX310SA, WX310J, WX300K) を心待ちにされている UNIX 系 OS ユーザへの特製プロンプトですが、WX310K は 11 月 25 日などと、発売日が発表されましたので、例えば WX310K を心待ちにされている方は以下のようにしてください。
bash 用
#------ for WX3[10]0 Series -------- RELEASEDATE="25 Nov" MODELNAME="WX310K" PROMPT_COMMAND=precmd precmd() { UNTILWX310=`expr \`date --date "$RELEASEDATE" +%s\` - \`date +%s\`` UNTILWX310=`expr $UNTILWX310 / 60 / 60 / 24 + 1` PS1="\[\e[0;37m\]\[\e[0;36m\]\[\e[7m\] \[\e[0m\] \[\e[0;36m\]\[\e[7m\] \[\e[0m\] \[\e[0;36m\]\[\e[7m\] \[\e[0m\] コミュニケーションの「新しい贅沢」を\n\ \[\e[0;36m\]\[\e[7m\] \[\e[0m\] \[\e[0;36m\]\[\e[7m\] \[\e[0m\] \ 待望の WILLCOM 新端末 $MODELNAME 発売まで、あと $UNTILWX310 日。\n\ [\[\e[4m\]\u@\h:\w(\!)\[\e[0;36m\]\[\e[0m\]] " # ←この最後の行は今までのプロンプトにでもしよっと }
csh 系ユーザ用
# for WX3[10]0 Series set RELEASEDATE="25 Nov" set MODELNAME="WX310K" alias precmd '@ rd=`date --date "$RELEASEDATE" +%s ` ; @ nd=`date +%s` ; @ UNTILWX310=`expr $rd - $nd `; @ UNTILWX310=`expr $UNTILWX310 / 60 / 60 / 24` ; set prompt="%{\e[0;37m%}%{\e[0;36m%}%{\e[7m%} %{\e[0m%} %{\e[0;36m%}%{\e[7m%} %{\e[0m%} %{\e[0;36m%}%{\e[7m%} %{\e[0m%} コミュニケーションの「新しい贅沢」を\n%{\e[0;36m%}%{\e[7m%} %{\e[0m%} %{\e[0;36m%}%{\e[7m%} %{\e[0m%} 待望の WILLCOM 新端末 $MODELNAME 発売まで、あと $UNTILWX310 日。\n[%{\e[4m%}%n@%m:%~(%!)%{\e[0;36m%}%{\e[0m%}] " '
依然として date に --date オプションがないと動かないので `date --date "$RELEASEDATE" +%s ` のところは、11 月 25 日なら 1132844400 に置き換えてください。そうすれば date のバージョンは関係なく動くはずです。 GNU coreutils を最新にしてもいい方はそうして使ってください。
SA や J やしゃーぽんな方は RELEASEDATE や MODELNAME を好きな機種用に変えて使ってください。
このコードはもちろん好き放題改編再配布して使いまくってください。 コメント、リンク、トラックバックお待ちしてます(^^;