以前介绍过组合fortune和cowsay在终端启动时候显示一段诗词或格言,如
____________________________________________________________________________
/ 《江乡故人偶集客舍》 作者:戴叔伦 \
| 天秋月又满,城阙夜千重。还作江南会,翻疑梦里逢。风枝惊暗鹊,露草覆寒虫。|
\ 羁旅长堪醉,相留畏晓钟。/
----------------------------------------------------------------------------
\ (__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
今天突然想把自己喜欢的文字收集起来,放到里面显示,试了试,操作很简单。
步骤如下:
1. 创建一个空文件,如myfortunes
在里面输入自己希望显示的诗句、格言或者字符,如
我是清都山水郎,天教分付与疏狂。--朱敦儒
%
银鞍照白马,飒沓如流星。--李白
%
满堂花醉三千客,一剑霜寒十四州。--贯休
%
想乌衣年少,芝兰秀发,戈戟云横。--叶梦得
%
少年侠气,交结五都雄。肝胆洞。毛发耸。立谈中。死生同。一诺千金重。--贺铸
%
我见青山多妩媚,料青山见我应如是。--辛弃疾
%
欲买桂花同载酒,终不似,少年游。--刘过
%
一点浩然气,千里快哉风。--苏轼
%
东武望馀杭。云海天涯两杳茫。何日功成名遂了,还乡。醉笑陪公三万场。--苏轼
%
我醉歌时君和,醉倒须君扶我,惟酒可忘忧。--苏轼
%
且趁闲身未老,尽放我,些子疏狂。--苏轼
%
江南好,千钟美酒,一曲《满庭芳》。--苏轼
%
我欲穿花寻路,直入白云深处,浩气展虹霓。--黄庭坚
%
都将闲日月,来醉百花前。--俞国宝
%
乘风好去,长空万里,直下看山河。--辛弃疾
%
休对故人思故国,且将新火试新茶。诗酒趁年华。--苏轼
%
宫里吴王沉醉,倩五湖倦客,独钓醒醒。--吴文英
%
愿将腰下剑,直为斩楼兰。--李白
%
桃李春风一杯酒,江湖夜雨十年灯。--黄庭坚
%
谁似东山老,谈笑静胡沙。--叶梦得
%
oo0oo
o88888o
88 . 88
(| - _ - |)
o\ = /o
_____/---\______
佛祖保佑 永不死机
2. 用命令strfile转化文件格式
$ strfile -c % myfortunes myfortunes.dat
"myfortunes.dat" created
There were 21 strings
Longest string: 113 bytes
Shortest string: 45 bytes
3. 把原文件和生成的dat文件拷贝到目录,使用中文的话生成一个链接
$ sudo cp myfortunes* /usr/share/games/fortunes/
$ cd /usr/share/games/fortunes/
$ sudo ln -s myfortunes myfortunes.u8
$ ls -l
总用量 408
-rw-r--r-- 1 root root 152666 1月 9 2017 chinese
-rw-r--r-- 1 root root 5716 1月 9 2017 chinese.dat
lrwxrwxrwx 1 root root 7 1月 9 2017 chinese.u8 -> chinese
-rw-r--r-- 1 root root 24516 8月 15 2013 fortunes
-rw-r--r-- 1 root root 1752 8月 15 2013 fortunes.dat
lrwxrwxrwx 1 root root 8 8月 15 2013 fortunes.u8 -> fortunes
-rw-r--r-- 1 root root 53589 8月 15 2013 literature
-rw-r--r-- 1 root root 1076 8月 15 2013 literature.dat
lrwxrwxrwx 1 root root 10 8月 15 2013 literature.u8 -> literature
-rw-r--r-- 1 root root 1416 2月 16 15:38 myfortunes
-rw-r--r-- 1 root root 112 2月 16 15:38 myfortunes.dat
lrwxrwxrwx 1 root root 10 2月 16 12:35 myfortunes.u8 -> myfortunes
-rw-r--r-- 1 root root 20294 8月 15 2013 riddles
-rw-r--r-- 1 root root 540 8月 15 2013 riddles.dat
lrwxrwxrwx 1 root root 7 8月 15 2013 riddles.u8 -> riddles
-rw-r--r-- 1 root root 28673 1月 9 2017 song100
-rw-r--r-- 1 root root 408 1月 9 2017 song100.dat
lrwxrwxrwx 1 root root 7 1月 9 2017 song100.u8 -> song100
-rw-r--r-- 1 root root 88927 1月 9 2017 tang300
-rw-r--r-- 1 root root 1280 1月 9 2017 tang300.dat
lrwxrwxrwx 1 root root 7 1月 9 2017 tang300.u8 -> tang300
4. 测试
因为使用了中文化的fortune-zh,看下是个bash脚本
$ which fortune-zh
/usr/games/fortune-zh
$ cat /usr/games/fortune-zh
#!/bin/sh
# fortune-zh
set -e
FORTUNE="/usr/games/fortune"
[ -x $FORTUNE ] || ( echo "E: Please install package 'fortune-mod'."; false )
# The old version (1.*) of fortune-zh contains only tang300 and song100.
# Note, $\sum_{i} P_i = 1$, i.e. all the possibilities must sum to 1.
#DICT="18% tang300 05% song100 70% chinese %7 myfortunes"
DICT="18% tang300 05% song100 77% chinese"
# check LANG
if [ ! -z $LC_ALL ]; then
LANG="$LC_ALL"
fi
# output according to LANG
case "$LANG" in
"zh_CN.GB2312")
LANG=zh_CN.UTF8 $FORTUNE $DICT | iconv -c -f utf8 -t gbk
;;
"zh_TW.Big5")
LANG=zh_TW.UTF8 $FORTUNE $DICT | iconv -c -f utf8 -t big5
;;
*)
$FORTUNE $DICT
;;
esac
里面执行的命令参数添加自己的文件:
$ /usr/games/fortune 18% tang300 05% song100 2% chinese 75% myfortunes
东武望馀杭。云海天涯两杳茫。何日功成名遂了,还乡。醉笑陪公三万场。--苏轼
$ /usr/games/fortune 18% tang300 05% song100 2% chinese 75% myfortunes
oo0oo
o88888o
88 . 88
(| - _ - |)
o\ = /o
_____/---\______
佛祖保佑永不死机
修改脚本/usr/games/fortune-zh,改为
DICT="18% tang300 05% song100 50% chinese 27% myfortunes"
文件名前面的百分比是调用频率,越大出镜机会越多。