🎅❄️❄️❄️Merry Christmas❄️❄️❄️🎄
又是一年圣诞节,首先祝有缘看到这篇小文章的朋友们只写代码,不写霸个(bug)。
今天借着圣诞节的契机,抛砖引玉,画一个圣诞树,用 shell 脚本。
主要使用的工具就是echo以及 shell 自带的颜色输出特性。
下边是我总结的 echo 显示颜色的用法:
命令:echo -e "\e[背景颜色;文字颜色;显示方式m字符串\e[0m"
颜色具体内容:
文字 背景
黑色:30 40
红色:31 41
绿色:32 42
黄色:33 43
蓝色:34 44
粉色:35 45
青色:36 46
白色:37 47
灰色:38 48
特殊情况:
97(文字):比37更浅的白色
90,92,93,94,96(文字):不同深浅的灰色
91(文字):橙色
95(文字):紫色
文字为41-47时,文字颜色为灰色,背景颜色为31-37的颜色
背景为48,颜色为1-255,显示方式为5时,显示ansi颜色
显示方式:
0:关闭所有属性
1:加粗
2:一半亮度
4:下划线
5:闪烁
7:反显
8:消隐
22:一般密度
24:关闭下划线
25:关闭闪烁
27:关闭反显
说画一个圣诞树拢共分几步?
三步!
第一步:既然是圣诞树,那么一定有绿色,我们先画一个绿色色块:
echo -e "\e[32m▒▒▒▒▒▒\e[0m"
## 32是前景绿色,我用的一种特殊符号,表示茂密的树叶
echo -e "\e[42m \e[0m"
## 42是背景绿色,这是打印的纯绿色,感觉还是上边那种表现得更生动
第二步:既然是圣诞树,得有树干吧,画个树干:
echo -e "\e[33m▓\e[0m\n\e[33m▓\e[0m\n\e[33m▓\e[0m"
## 33是前景黄色
第三步,加上一点细节,大功告成:
这里是源代码:
#!/bin/bash
echo -e " \e[97m★\e[0m"
echo -e " \e[32m▲\e[0m"
echo -e " \e[32m◢▒▒▒◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒▒◣\e[0m"
echo -e " \e[31m♥\e[0m \e[32m▒\e[0m \e[31m♥\e[0m"
echo -e " \e[32m◢▒▒▒▒▒◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒▒▒▒▒▒◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒◣\e[0m"
echo -e " \e[31m◎\e[0m \e[35m◎\e[0m \e[32m▒\e[0m \e[35m◎\e[0m \e[31m◎\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒\e[36m●\e[32m◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒\e[34m●\e[32m▒▒▒▒▒\e[95m●\e[32m▒▒◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒\e[95m●\e[32m▒▒▒▒▒\e[35m●\e[32m▒▒▒▒▒\e[31m●\e[32m▒▒▒▒◣\e[0m"
echo -e " \e[32m◢▒▒▒▒▒▒\e[35m●\e[32m▒▒▒▒▒\e[31m●\e[32m▒▒▒▒▒\e[36m●\e[32m▒▒▒▒▒\e[34m●\e[32m▒▒▒▒▒▒◣\e[0m"
echo -e "\e[32m◢▒▒▒▒▒▒\e[31m●\e[32m▒▒▒▒▒\e[36m●\e[32m▒▒▒▒▒\e[34m●\e[32m▒▒▒▒▒\e[95m●\e[32m▒▒▒▒▒\e[35m●\e[32m▒▒▒▒▒▒▒▒◣\e[0m"
echo -e "\e[31m♫\e[0m \e[35m♫\e[0m \e[36m♫\e[0m \e[33m▓\e[0m \e[36m♫\e[0m \e[35m♫\e[0m \e[31m♫\e[0m"
echo -e " \e[33m▓\e[0m"
echo -e " \e[33m▓\e[0m"
echo -e " \e[33m▓\e[0m"
echo -e " \e[33m▓\e[0m"
echo -e " \e[33m▓\e[0m"