min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi3 sshログイン時に「今日の運勢」をウシさんに占ってもらう fortune | cowsay

前回記事で、sshログイン時のメッセージをネルフ本部のロゴに変えた。

min117.hatenablog.com

今回は sshログイン時(~/.bashrcが読まれるとき)に ウシに「今日の占い」をしゃべらせてみる。RaspberryPi3 で試す

こんな感じになる。

f:id:min117:20180531222600p:plain

 debianだと /usr/game/cowsay というコマンドがあるらしく、手軽にウシに喋らせることができる(fedoraに無いのは残念)。このへんも参照。

www.linux.com

oded.blog

 

 

 

① まずは cowsay をインストールする。

$ sudo apt-get -y install cowsay

f:id:min117:20180531223108p:plain

echoした文字列を cowsay にパイプすれば、ウシがしゃべってくれる。

$ echo 'I love you' | cowsay

f:id:min117:20180531223320p:plain

改行もできる。echo コマンドに -e をつけると、ダブルクオーテーションで囲った文字列 \\n 改行として認識してくれる。

echoコマンドで改行やタブを扱うには@Linux (Debian Etch) | Mazn.net

$ echo -e "I love you \\n Good night" | cowsay

f:id:min117:20180531223733p:plain

 

 

 

 

② 次に、Linux今日の占いを吐き出させるフォーチュンコマンド fortune をインストールる。

$ sudo apt-get -y install fortune

f:id:min117:20180531223931p:plain

こんな感じで今日の運勢というか、金言名句を話してくれる。

$ fortune

f:id:min117:20180531224241p:plain

 

あとは、fortune の出力結果を cowsay に食わせればいいだけ。

$ fortune | cowsay

f:id:min117:20180531224503p:plain

素晴らしい。

 

for文で回し「2秒に1回、占いを喋る」ようにしてみる。

for i in `seq 1 100`; do clear; echo "$i"回目の占い; fortune | cowsay; sleep 2; done 

f:id:min117:20180531224700p:plain

こりゃいい。

f:id:min117:20180531224903p:plain

f:id:min117:20180531224906p:plain

 

ついでに、文字を柵状に囲う figlet というコマンドも見つけた。

$ sudo apt-get -y install figlet

f:id:min117:20180531230052p:plain

 

こんな感じに使う。

$ figlet -f digital Wont you marry me?

f:id:min117:20180531230133p:plain

 

シングルクオートを入れるにはちょっと工夫がいる。

$ figlet -f digital 'Won'\''t you marry me?'

f:id:min117:20180531230428p:plain

 

ウシに喋らせる。

$ figlet -f digital 'Won'\''t you marry me?' | cowsay

f:id:min117:20180531230624p:plain

完璧。

 

ちなみに figlet には日本語もあるみたい。

d.hatena.ne.jp

f:id:min117:20180531231038p:plain

 

参考サイト)

仕事の役には立たない、Linuxにおけるジョークプログラムの話

jp.linux.com

フォーチュンつながり

www.youtube.com