無限 Cowsay するワンライナー

超お遊び。

# 事前に Homebrew でコマンドをインストールしておく
$ brew install cowsay fortune lolcat

cowsay コマンドを使って遊ぼうと思った。名言をランダムに出力する fortune コマンドと、テキストを虹色で表示する lolcat コマンドを組み合わせて以下のようなワンライナーを作った。

$ while :; do reset && fortune | cowsay -f $(cowsay -l | grep -v '^Cow' | tr ' ' '\n' | shuf -n 1) | lolcat; sleep 5; done

$ cowsay -l で使用できる AA のリストが表示されるので、そこからランダムに一つ選択して cowsay -f に渡している。

$ fortune | cowsay -f "$(ls /usr/local/Cellar/cowsay/*/share/cows/ | shuf -n1)" | lolcat

こんな感じで ls の結果をシャッフルする方法なんかも見つけたし、Bash の配列や変数展開機能を使って shuf ではなく RANDOM で取り出したりする方法もあったが、まぁどれでも動作速度的には問題なさそう。

あとは reset で画面クリア、sleep で表示したあと待機。中止する時は Ctrl + C で。暇な時にコレをボーッと眺めている。