Open5

ログイン時にfortuneコマンドで格言を表示する

kurehajimekurehajime

インストール

ubuntuの場合はfortune-modというパッケージを入れる。

apt intall fortune-mod
kurehajimekurehajime

# 格言を生成してみる

$ fortune
Q:      What do you have when you have a lawyer buried up to his neck in sand?
A:      Not enough sand.

Q:首まで砂に埋もれた弁護士がいたら、どうする? A:砂が足りない。

なんだこれ。

$ fortune
Q:      Why was Stonehenge abandoned?
A:      It wasn't IBM compatible.

Q:ストーンヘンジはなぜ放棄されたのか? A:IBMとの互換性がなかったから。

ん?

$ fortune
This night methinks is but the daylight sick.
                -- William Shakespeare, "The Merchant of Venice"

この夜は、病気の昼間のようなものだと思う。 -- ウィリアム・シェイクスピア「ヴェニスの商人」。

これは格言っぽいが、何を伝えたいのかよく分からない。
格言コマンドだと思ったけど、実際のところジョークの意味合いが強そう。

kurehajimekurehajime

オリジナルの格言を表示する

このfortuneコマンド、自分で定義できるらしい。

テキストの用意

まずはテキストを用意する。

今回はこれを使う。
いろはにほへと…の順で自己を卑下するネガティブなフレーズが47個収録されたカルタ。
https://gist.github.com/kurehajime/00f0f3c495e9f0110b8abd33a127deff

テキストは%のみの行で区切る必要がある。これにより複数行の格言に対応できる。

いつもそう いいわけばかり いうじぶん 
%
ろこつなたいどで きょひられる
%
はばつにぞくさず ひとりでこりつ
%
にてもやいても くえないやつだ
%
ほけつのほけつ あまりもの
%
とけいといつも にらめっこ

ランダムアクセス

ファイルを作ったら、strfileコマンドでランダムアクセスができるようにする。

strfile carta.txt

実行するとcarta.txt.datが作られる。

実行

fortuneコマンドに引数としてファイル名を与えればOK。
指定するのはdatファイルではなく、テキストファイルの方。

 fortune carta.txt

よし、いい感じだ。

kurehajimekurehajime

ログイン時に格言を表示

.bashrcの末尾にこれを追加する。

fortune carta.txt

するとこんな感じで、ターミナル起動時に格言が表示される。