fortune コマンドについて

今回は砂金とはまったく関係ない話題です…

fortuneコマンドとは

無機質な画面上におみくじを表示してくれる小粋なtoolです。外国人はこういうの好きなんですよね。Juniper社のnetwork OSである、JUNOSにもhaikuっていう隠しコマンドがあったりします。

最近の*BSDやLinux distributionには、packageが用意されていると思います。以下はdebianとCentOSですが、distributionによってはpackage名が異なるかもしれません。

なにも引数を付けずに実行するとこんな感じです。

fortuneの歴史

wikipediaによれば、Unix Version 7 (1979年!!)で動いていたそうです。
X Window Systemのリリースが1984年ですから、その当時のUIはもちろんCLI。現在のdisplayが出回り始めたのが1970年代中頃だそうですから、悪くすると行指向UIを使っているユーザもいたかもしれません(今でもedコマンドにその名残が伺えますね)

その後GUIが登場してfortuneの見せ方も多少変わってきました。が、基本は変わりません。昔のGNOMEには(今もあるのかな?)”Wanda the Fish”というPanel Applicationが付属していてクリックするとfortuneを表示してくれました。
※ 日本語訳は、さかなクンという名称になっていたような覚えがあります。

そんなわけで、今も昔と変わらず愛されているtoolなのです。

使い方

仕事につかれた時、なにかに行き詰まった時、そっと fortuneと打ってみましょう。クスっと笑える一言や心和むメッセージが返ってきます。

最近流行りの吹き出し表示ツール(cowsay)を通してあげればもっと楽しく。
※日本語だと吹き出しが崩れやすいので注意

ランダムに文章を返してくるtoolなので、応用範囲はとても広いです。

userのlogin shellが起動した時に実行されるスクリプト($HOME/.bashrc など)に以下のコードを仕込んでおけば….少し癒やされますよね。

slackbotなどに仕込むのも簡単

独自ファイルを用意する

ネットを検索するとfortuneファイル集というのがいくつも見つかると思います。が、日本語ファイル集というのはなかなか見つかりません。

昔流行った、マーフィーの法則ファイル集を見かけたことがありますがソレくらいなので・・・自分で作ってしまいましょう!

fortuneの仕組み

細かな振る舞いなどは、コマンドバージョンによって異なってくると思いますが、大まかにはこのようなしくみになっています。

  1. ‘%’で区切られたファイルを用意する
  2. (1)のファイルからindexを作成
  3. 元になるテキストファイルとindexファイルを所定のディレクトリに配置

簡単ですね。

では、試しにファイルを作ってみましょう。ここで気をつけないといけないのが、
最後のプロックには’%’を付けないという所です。最後に’%’を付けると空行もindex化されてしまいます。

次にindexファイルを作成します

作成された2つのファイル(test, test.dat)を所定のディレクトリにコピーします。この時、ディレクトリを作成する事で、このファイルのみを指定して表示させる事ができます。
※このpathは、環境によって異なる可能性があります

今、作成したファイルを指定して表示させてみます。

いい感じですね。

その次のステップへ

fortuneは、元ネタとなるデータが多ければ多いほど面白くなります。ネットを見ていて面白い!と感じたらすかさず追加しましょう。fortuneで指定できるのはディレクトリ単位ですが、ファイルを分ける事も可能なので、カテゴリ別に分け、配布する際にファイルを選べば全年齢対象なfortuneデータセットが完成です。

https://osdn.jp/projects/my-fortune/

ここの仕組みを使うと楽に管理できるかと思います。
configure && make && make install で一発deployできます
※ sudoersへの登録が必須

2chコピペが多いですが、配布する際、著作権には要注意です。

日本語の面白いfortuneファイルが登場する事を願ってます。

fortune コマンドについて」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)