fortune 命令简介

简介:

美国中餐馆的最后一道菜,往往是小甜饼,叫做"幸运饼"(fortune cookie)。

里面有一张纸条,写着人生格言。

这种形式的格言,显然很受欢迎。早在1979年,就有人写了一个叫做 fortune 的小程序。在命令行下输入fortune,就会跳出一句。

通常,Linux发行版自带这个程序。如果没有,需要先安装这个程序。

 # Debian/Ubuntu
$ sudo apt-get install fortune 

# Mac
$ brew install fortune

我很喜欢这个程序,但是它默认的格言库都是英语的,我觉得这点不好,就自己动手做了一个中文格言库。上图就来自这个库,安装命令如下。


$ git clone git@github.com:ruanyf/fortunes.git

$ sudo mv fortunes/data/* /usr/share/games/fortunes/ 

如果是Mac系统,需要重新生成索引文件,即在上面两个命令之间,增加几个命令。


$ strfile fortunes/data/fortunes
$ strfile fortunes/data/chinese
$ strfile fortunes/data/tang300
$ strfile fortunes/data/song100

目前,这个库带有四个格言包。

  • fortunes:英语格言,5472条
  • chinese:中文格言,25919条
  • tang300:唐诗三百首,313条
  • song100::宋词一百首,95条

fortune 命令显示的格言是随机的,但是分布比例与格言包的容量一致。如果希望四个包平均显示,即每个包都有25%的显示机会,需要使用下面的命令格式。


$ fortune -e fortunes chinese tang300 song100

# 或者

$ fortune 25% fortunes 25% chinese 25% tang300 25% song100

上面代码的第二种形式,让你可以根据自己的偏好,调节每个包的比重。

在 ~/.bashrc 或 ~/.zshrc 文件(根据你使用的 shell 而定)的结尾,加上下面几行,那么每次启动 shell 窗口,就会自动跳出一句格言。

 echo echo "=============== Quote Of The Day ===============" echo
fortune
echo echo "================================================" echo 

格言包就是一个文本文件,可以放入任何内容。假如你想用它背单词,也没有问题。下面就是如何制作这一类的 fortune 数据文件。

(1)所有条目都写入一个文本文件,文件名任意。

(2)条目之间用单独一行的百分号(%)分隔,就像下面这样。

路漫漫其修远兮,吾将上下而求索。
----屈原《离骚》
%
富贵不能淫,贫贱不能移,威武不能屈。
----《孟子》
%
长风破浪会有时,直挂云帆济沧海。
----《行路难·其一》
%
志不强者智不达,言不信者行不果。
----墨子
%
锲而舍之,朽木不折;锲而不舍,金石可镂。
----《荀子·劝学》
%

(3)生成索引文件。


$ strfile <fortuneFile> <fortuneFile.dat> 

上面命令中,尖括号的 fortune 文件名,替换成你的文件名。

(4)fortune 数据文件和它的索引文件,都拷贝到目录 /usr/share/games/fortunes/ 。

(完)

目录
相关文章
|
3月前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
106 2
|
3月前
|
安全 Linux Shell
runcon命令简介及用途
`runcon`是Linux的SELinux工具,用于在特定安全上下文中运行命令,加强进程权限控制。它允许管理员改变进程的安全上下文,提高安全性,隔离环境,并满足安全标准。命令参数如`-u`(用户),`-r`(角色),`-t`(类型)指定上下文。示例包括以非特权用户身份或特定上下文运行命令。使用时需注意确保SELinux启用,正确指定上下文,并遵循最小权限原则和定期审计。
|
3月前
|
监控 Unix 数据处理
Grep命令的高级用法与实用技巧
Grep命令的高级用法与实用技巧
|
5月前
|
机器学习/深度学习 大数据 Shell
Shell基础学习---1、Shell概述、脚本入门、变量
大数据学习 Shell基础学习---1、Shell概述、脚本入门、变量
405 1
|
Python
[BlocklyNukkit入门]#4创建命令
Python可以吧function改为方法名 比如
59 0
|
存储 SQL NoSQL
深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)
深入探究neo4j: 完全指南(安装、常用命令、错误汇总、python连接)
|
测试技术 Python
HTMLReport使用1 | HTMLReport简介和安装
HTMLReport使用1 | HTMLReport简介和安装
176 0
HTMLReport使用1 | HTMLReport简介和安装
|
监控 网络协议 数据安全/隐私保护
Wireshake简介与使用方法
1.wireshake简介 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
282 1
Wireshake简介与使用方法
|
Linux PHP
Chevereto——简介及安装
一款强大好用的图床程序-Chevereto
633 0
Chevereto——简介及安装
第五章 Mininet常用命令参数介绍(3)
第五章 Mininet常用命令参数介绍(3)
120 0
第五章 Mininet常用命令参数介绍(3)