基于fortune+cowsay+lolcat组合拳的终端美化

共 2599字,需浏览 6分钟

 ·

2023-10-05 12:34



这里通过构建fortune、cowsay、lolcat组合拳对Mac终端进行美化
f0f7a8e13b59d2920d3f18affbf85b56.webpabstract.pngfortune

该命令每次执行时,会随机输出一句人生格言


      
# 安装
brew install fortune

# 查看版本信息,确认安装成功
fortune -v


ba096115183879b411e05e203316def4.webpfigure 1.jpg

只不过fortune默认的格言库是英文的。这里我们期望能够输出中国的古诗词之类的


      
## 下载诗词文件
git clone https://github.com/ruanyf/fortunes.git

# 生成索引文件
cd ./fortunes/data
strfile fortunes && strfile chinese && strfile tang300 && strfile song100


a1724951c8b6f6f21759aecb509d89d0.webpfigure 2.jpg
      
# 确认 games/fortunes 文件夹位置
brew list fortune | grep -E "games/fortunes/" | head -n 1

# 将诗词文件data目录下的内容全部移动到 games/fortunes 文件夹当中
sudo mv fortunes/data/* /usr/local/Cellar/fortune/9708/share/games/fortunes/


b002ae0e06811028f8543b6ebd7f19b7.webpfigure 3.jpg
      
# 执行fortune命令,并对每个库设置比例,进行随机抽取
fortune 25% fortunes 25% chinese 25% tang300 25% song100


1470e9e749bc6947f52c31eeae14543a.webpfigure 4.jpgcowsay

该命令接受一个文本,然后通过动物说话的图形进行展示


      
# 安装
brew install cowsay


用法如下


      
cowsay "Good"

# 查看可用动物
cowsay -l

# 通过-f选项指定动物
cowsay -f cheese "Good"


2848f122e6937ec7101e51dccd26cd45.webpfigure 5.jpglolcat

该命令可以对命令行对输出产生彩虹的颜色效果


      
# 安装
brew install lolcat


效果如下


      
ll ~ | lolcat


126f4ea7fb62495f20c13987a4e3bae2.webpfigure 6.jpg组合拳

现在我们来编写一个Shell脚本。实现启动终端时,会随机选择一种动物随机输出一条彩虹效果的格言。其中,cowsay命令的配置文件路径可通过cowsay -l命令获取


04ec1414d679216796a9ad6e6ac7df2b.webpfigure 7.jpg

脚本文件cowSayFortuneBylolcat.sh如下所示


      
#!/usr/local/bin/zsh
# 打开终端时,随机选择一种动物随机输出一条彩虹效果的格言

# cowsay命令配置文件路径
cowsay_config_path=/usr/local/Cellar/cowsay/3.04_1/share/cows
# 先筛选出配置路径下.cow类型的所有文件。
# 然后通过wc命令的-l选项统计行数,即.cow类型文件的数量
animal_counts=`ls ${cowsay_config_path} | grep ".cow$" | wc -l`

# 生成一个在[1,cow_counts]范围内的随机数
rand_num=`jot -r 1 1 ${animal_counts}`
# 选择第rand_num个.cow类型文件
animal=`ls ${cowsay_config_path} | grep ".cow$" | sort | sed -n "${rand_num}p"`

# 输出格言
fortune 10% fortunes 30% chinese 30% tang300 30% song100 | cowsay -f ${animal} | lolcat


现在对该脚本执行权限


      
# 对脚本赋予执行权限
chmod u+x cowSayFortuneBylolcat.sh


a0a0753ac4d73d7a2aefe83205d937c3.webpfigure 8.jpg

这里我们使用的Shell为zsh。故在用户目录下的.zshrc文件中添加执行该脚本的命令


      
...
# 执行cowSayFortuneBylolcat脚本。打开终端时,随机使用一种动物随机输出一条彩虹效果的格言
~/CustomShellScript/cowSayFortuneBylolcat.sh
...


14f4cdbbc03ec7c00940fcdfbcfeef2b.webpfigure 9.jpg
浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报