ターミナルを開くたびにランダムなAAを表示させるbashスクリプト

春眠暁を覚えずで意識も遠のきがちな今日この頃皆様いかがお過ごしでしょうか。
あんまり眠いのでデスクトップ表示(windows+D)しようとしてセッション複製(Alt+D)する*1たびにほっこりするスクリプト書いてみました。

.bashrc

メッセージを表示するスクリプト(startup.sh)をbash起動時に実行するためにHOME/.bashrcに以下の文を追加します。

 :
# startup script
(path to script directory)/startup.sh # 例)$HOME/startup/startup.sh

startup.sh

データファイル(startup.txt)からAAを配列に読み込みランダムに表示させます。あわせて今日の日付を表示します。

#!/bin/bash

COMMENT=【`date "+%Y-%m-%d (%a)"`】
IFS=">"
AA=(`sed -e "s/__DATE__/$COMMENT/g" ./startup.txt`)
NUM=${#AA[*]}
NO=`expr $RANDOM % $NUM`
echo ${AA[$NO]}

startup.txt

AAを定義しているファイルです。
AAはstartup.sh中で環境変数IFSに指定した区切り文字『>』で自動的に分割されて変数AAに格納されます。AA中で>が使われているような場合は別の文字に変更してください。
__DATE__はstartup.shのsedコマンドで今日の日付に差し替えられる場所です。

  <⌒/ヽ-、___          __DATE__
/<_/____/
>
   *'``・* 。
   |     `*。
  ,。∩      *    もうどうにでもな〜れ
 + (´・ω・`) *。+゚        __DATE__
 `*。 ヽ、  つ *゚*
  `・+。*・' ゚⊃ +
  ☆   ∪~ 。
   `・+。*・ ゚
>
    n
   / \
   レVレイ
  /  |
  / (゚д゚)        __DATE__
 ( (ノ  |)
  `u-u
>
  ∧∧l|
  /⌒ヽ)          __DATE__
〜(__)
"" """"" "
>
  ミミY彡
  ミY彡彡
  ヽYソ//
   ||Y/
  / ̄ ̄\
 |= −=|
 |―(゚Д゚)        __DATE__
 | (ノ =/)
 |=− /
  \_/
  ∪∪

実行例

f:id:kiyotune:20120329133359p:image
以上

*1:http://sourceforge.jp/projects/ttssh2/