原文地址: //www.greatytc.com/p/d0585ce8e78c
0. 前言
今天突然想自定义下登录欢迎标语,结果发现centos 7.2上没带fortune,用yum也找不到fortune和cowsay这两个项目,现将安装过程记录下,以供分享和后续查看.
效果如下:
1. fortune安装
fortune是一个展示随机名言的程序,具体定义看这里:fortune (Unix)
这里使用的是fortune-mod,下载rpm包后使用rpm -i fortune-mod*.rpm
命令安装即可.
但是由于这个包需要依赖libc.so.6(GLIBC_2.14)(64bit),librecode.so.0()(64bit)和rtld(GNU_HASH)
,所以如果出现错误,看下是缺少了哪个包,下载相应的包然后安装,之后再安装fortune-mode
即可.
安装后效果如下:
[aa@aa]$ fortune
Behind every argument is someone's ignorance.
-- Louis Brandeis
2. 安装cowsay
cowsay是一头牛头上显示一句自定义语句,也可以是一个其他的动物,具体看这里:cowsay
这里使用的是github上的这个javascript项目cowsay, 直接使用命令npm install -g cowsay
即可安装,可能需要root
权限.
安装完后,效果如下:
[aa@aa]$cowsay srsly dude, why?
__________________
< srsly dude, why? >
------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
注意使用npm安装的cowsay的路径,可以使用
npm root -g
查看全局的安装路径.
3. 修改登录后提示
关于如何在修改登录后提示的方式有很多种,可以直接在.bashrc
中添加代码,但是这不推荐,推荐的做法是在/etc/profile.d
文件夹下新建一个.sh
文件,然后将代码写入到.sh
文件中.
如我的.sh
文件: cowsay.sh
#!bin/bash
# call cowsay after login
animal=$(ls /usr/lib/node_modules/cowsay/cows | shuf -n 1)
declare -i name_length=$(#animal)-4
# pass sentence to cowsay with random animal
fortune | cowsay -f ${animal:0,$name_length}
说明:
-
/usr/lib/node_modules/cowsay/cows
:这个路径是这个node
项目cowsay
的安装路径,其他方式安装的路径不一定是这个. -
shuf -n 1
: 将前面的列表进行随机排序,然后返回第一个. -
${animal:0,$name_length}
:由于获取的animal
带有.cow
后缀,故用该方式去掉后缀.
我上述的需求是每次随机一个动物,如果无需随机动物这个需求,更简单,如下:
#!bin/bash
fortune | cowsay
这样就可以实现登录酷炫的效果了.