ターミナルを開くたびにランダムなAAを表示させるbashスクリプト
春眠暁を覚えずで意識も遠のきがちな今日この頃皆様いかがお過ごしでしょうか。
あんまり眠いのでデスクトップ表示(windows+D)しようとしてセッション複製(Alt+D)する*1たびにほっこりするスクリプト書いてみました。
- 参考: 誕生日近いのでスクリプト書いた - lql.be::hateda
- 追加(2012/3/30):github => https://github.com/kiyotune/terminal_startup_message
- 追加(2012/4/18):githubの最新を一行AAに変えた(vimのshで戻る度にうっとうしいので)=>ver1.1。複数行AA表示分は"ver1.0"で。
.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__ | (ノ =/) |=− / \_/ ∪∪
*1:http://sourceforge.jp/projects/ttssh2/