基于fortune+cowsay+lolcat组合拳的终端美化
ProjectDaedalus
共 2599字,需浏览 6分钟
·
2023-10-05 12:34
这里通过构建fortune、cowsay、lolcat组合拳对Mac终端进行美化 abstract.pngfortune
该命令每次执行时,会随机输出一句人生格言
# 安装
brew install fortune
# 查看版本信息,确认安装成功
fortune -v
figure 1.jpg
只不过fortune默认的格言库是英文的。这里我们期望能够输出中国的古诗词之类的
## 下载诗词文件
git clone https://github.com/ruanyf/fortunes.git
# 生成索引文件
cd ./fortunes/data
strfile fortunes && strfile chinese && strfile tang300 && strfile song100
figure 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/
figure 3.jpg
# 执行fortune命令,并对每个库设置比例,进行随机抽取
fortune 25% fortunes 25% chinese 25% tang300 25% song100
figure 4.jpgcowsay
该命令接受一个文本,然后通过动物说话的图形进行展示
# 安装
brew install cowsay
用法如下
cowsay "Good"
# 查看可用动物
cowsay -l
# 通过-f选项指定动物
cowsay -f cheese "Good"
figure 5.jpglolcat
该命令可以对命令行对输出产生彩虹的颜色效果
# 安装
brew install lolcat
效果如下
ll ~ | lolcat
figure 6.jpg组合拳
现在我们来编写一个Shell脚本。实现启动终端时,会随机选择一种动物随机输出一条彩虹效果的格言。其中,cowsay命令的配置文件路径可通过cowsay -l命令获取
figure 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
figure 8.jpg
这里我们使用的Shell为zsh。故在用户目录下的.zshrc文件中添加执行该脚本的命令
...
# 执行cowSayFortuneBylolcat脚本。打开终端时,随机使用一种动物随机输出一条彩虹效果的格言
~/CustomShellScript/cowSayFortuneBylolcat.sh
...
figure 9.jpg
评论