管道 pipe
上一部分我们都讲了什么?🤔
牛说 cowsay
牛可以有各种表情
可以自定义眼睛
可以变成各种别的小动物
可以说也可以想 cowthink
我们也想让牛说出字符画的感觉
回顾字符画
下载 figlet 和 toilett
sudo apt install figlet toilet
figlet oeasy
那我们怎么让别的小动物说出字符画呢?
#查询所有的小动物
#都在
cowsay -l
f应该对应着file
文件都在/usr/share/cowsay/cows里面
应该可以添加.cow文件增加更多的小动物
让duck说不必
cowsay -f duck "不必"
使用管道重定向
figlet "oeasy"
figlet "oeasy" | cowsay -f moose -n
本来figlet "oeasy"直接输出到屏幕
现在通过管道重定向给cowsay -f moose -n
-n用来正确的换行
pipe 原理
中间的那条竖线 | (在键盘回车上面), 就是 pipe
pipe, 意思是管道
原来 figlet "oeasy"命令执行之后进行输出
输出流,直接流到屏幕 (stdout) 上
现在给他加了一个管道|
figlet 不直接输出到屏幕了
figlet 把输出结果流到了 cowsay 指令中
cowsay 接收到了流过来的 figlet 的结果做为参数
cowsay 的输出结果最终流到了屏幕 (stdout) 上
牛说各种
我们尝试一下让牛说出彩色字
toilet --gay oeasy | cowthink -n
toilet 是彩色字
--gay 是 toilet 的选项开关
oeasy 是 toilet 的参数
toilet 的输出流到 cowthink 中
-n 是 cowthink 的参数,解决回车问题
#牛说 uname
uname | cowsay -f moose -n
# 牛说 pwd, 把 pwd 的结果给到 cowsay
pwd | cowsay -f moose -n
# 牛说 ls, 把 ls 的结果给到 cowsay
ls | cowsay -f moose -n
# 牛说 ls /etc, 把 ls /etc 的结果给到 cowsay
ls etc | cowsay -f moose -n
# 把 cowsay 的内容输出到 toilet 染色
cowsay -f moose "oeasy" | toilet --gay -f term
boxes
#首先要下载boxes
sudo apt install boxes
boxes 也是类似的字符画
也可以配置多种参数
也可以使用管道
figlet oeasy | boxes -d peek -pa2t0b0
watch -n1 "date '+%D%n%T'| figlet -k | boxes -a c -s 59 -d cat"