前回記事で、sshログイン時のメッセージをネルフ本部のロゴに変えた。
今回は sshログイン時(~/.bashrcが読まれるとき)に ウシに「今日の占い」をしゃべらせてみる。RaspberryPi3 で試す。
こんな感じになる。
debianだと /usr/game/cowsay というコマンドがあるらしく、手軽にウシに喋らせることができる(fedoraに無いのは残念)。このへんも参照。
① まずは cowsay をインストールする。
$ sudo apt-get -y install cowsay
echoした文字列を cowsay にパイプすれば、ウシがしゃべってくれる。
$ echo 'I love you' | cowsay
改行もできる。echo コマンドに -e をつけると、ダブルクオーテーションで囲った文字列内 \\n を改行として認識してくれる。
echoコマンドで改行やタブを扱うには@Linux (Debian Etch) | Mazn.net
$ echo -e "I love you \\n Good night" | cowsay
② 次に、Linuxに今日の占いを吐き出させるフォーチュンコマンド fortune をインストールする。
$ sudo apt-get -y install fortune
こんな感じで今日の運勢というか、金言名句を話してくれる。
$ fortune
あとは、fortune の出力結果を cowsay に食わせればいいだけ。
$ fortune | cowsay
素晴らしい。
for文で回して「2秒に1回、占いを喋る」ようにしてみる。
$ for i in `seq 1 100`; do clear; echo "$i"回目の占い; fortune | cowsay; sleep 2; done
こりゃいい。
ついでに、文字を柵状に囲う figlet というコマンドも見つけた。
$ sudo apt-get -y install figlet
こんな感じに使う。
$ figlet -f digital Wont you marry me?
シングルクオートを入れるにはちょっと工夫がいる。
$ figlet -f digital 'Won'\''t you marry me?'
ウシに喋らせる。
$ figlet -f digital 'Won'\''t you marry me?' | cowsay
完璧。
ちなみに figlet には日本語もあるみたい。
参考サイト)
仕事の役には立たない、Linuxにおけるジョークプログラムの話
フォーチュンつながり