linuxなどUNIX系のガジェットにfortune(おみくじ)コマンドってのがある。
単純に呼び出すと、端末に一言 セリフを表示して終了する。ただそれだけのプログラム。
予め用意されたテキスト分の区切り位置をデータとして保持し
乱数で区画の文言を表示しているのだと推察する。
で、これ一般には英文を端末画面に表示するだけのように思われがちだが
かなり昔から、日本語対応の端末なら日本語も表示できる。
以前に、むせる男の予告集や世紀末覇王の名言、天の道を往き総てを司る男の名言、蜘蛛男の名乗り口上など作ったりしたが
諸般の事情で「手控えておいたのさぁ」
今回 新たに「4次元殺法コンビの迷言」と「赤い宇宙海賊の名言」を追加して
圧縮書庫にして出す。
その前に、fortune用のデータの作り方を
まず、単純に名言、格言をまとめたテキストデータを作る。
横の文字数はあまり多くなく、ひとつあたりの行数も3行くらいに収める。
ファイルの先頭と終端は必要ないが、各名言の節目節目に「%」だけの行を入れて区切る。
本文中に「%」記号を使いたいときなどは-c オプションで区切り記号を別のものに変える。
$ strfile filename[enter]
とだけ打てば、filename.datというdatファイルが作成されてる。
元データのfilenameというテキストファイルには拡張子.txtを付けないようにする。(ただし中身は単純なテキストファイル)
試しに その場で fortune filenameと打って、目的の名言が表示されれば完了。
ディレクトリを移動すれば。fortune filenameと打っても filenameというファイルがないと怒られるので
/usr/share/games/fortune/ に テキスト文のfilenameとdatデータのfilename.datのセットをコピーする。
/usr以下の領域は管理者権限がないと書き込めないので su なり sudo で管理者としての資格で書き込むか
自分のローカル領域で使用するのなら。fortuneにファイルパスを指定して対象のファイルを呼び出せば管理者権限なしでも使える。
自分のシェルの.rcにでも ailas で 登録すれば fortune だけ打ち込めば出るようにもできる。
alias myfortune='fortune votoms raoh tenndou spiderma 4次元殺法コンビ格言集 コブラ名言集'
以上、forttune用のdatファイルの作り方と格納先のメモ 終わり。
※fortuneは 単に呼び出すと登録されたdatファイル全ての中からランダムに格言を表示するので、自分の作ったモノだけで表示したいときは
引数として、自分の作ったテキストデータのファイル名を指定する。(複数指定可)

コメント
コメントを投稿