Python与shell脚本优化——使用颜色与进度条
前言:
在脚本中输出关键信息字符时带上颜色不仅能够更直观的发现核心信息,也让脚本的逼格高出不少,话不多说,简单的介绍下如何在shell脚本与python脚本中实现颜色的添加:
shell
首先,了解下shell中颜色控制的代码:
ansi 控制码表及颜色代码
背景颜色范围: 40--49 |
字休颜色: 30--39 |
ANSI控制码: |
40: 黑 |
30: 黑 |
\033[0m 关闭所有属性 |
41: 红 |
31: 红 |
\033[1m 设置高亮度 |
42: 绿 |
32: 绿 |
\033[4m 下划线 |
43: 黄 |
33: 黄 |
\033[5m 闪烁 |
44: 蓝 |
34: 蓝 |
\033[7m 反显 |
45: 紫 |
35: 紫 |
\033[8m 消隐 |
46: 深绿 |
36: 深绿 |
\033[30m -- \033[37m 设置前景色 |
\033[40m -- \033[47m 设置背景色 | ||
\033[nA 光标上移n行 | ||
\033[nB 光标下移n行 | ||
\033[nC 光标右移n行 | ||
\033[nD 光标左移n行 | ||
\033[y;xH 设置光标位置 | ||
\033[2J 清屏 | ||
\033[K 清除从光标到行尾的内容 | ||
\033[s 保存光标位置 | ||
\033[u 恢复光标位置 | ||
\033[?25l 隐藏光标 | ||
\033[?25h 显示光标 |
ok,颜色控制代码就是这些,那么怎么方便的在脚本中应用呢,如下所示:
#!/bin/bash
red='\033[31m'
green='\033[32m'
end='\e[0m'
echo -e "good${red}good${end}"
echo -e "green${green}green${end}"
执行结果如下:
颜色是变了,但为毛这么暗,可能需要换个显示器(滑稽)
不过为了好看点,当然还可以为字体加粗
#!/bin/bash red='\033[1;31m' green='\033[1;32m' end='\e[0m' echo -e "error${red}error${end}" echo -e "green${green}green${end}"
执行结果如下:
看,是不是突然变得又粗又大,话为什么这么奇怪。。。
不过大红色的error看上去就让人兴奋(手动滑稽)
如果想让字体变为红色并且不停的闪烁
#echo -e "\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m"
或者
#echo -e "\033[31m \033[05m 请确认您的操作,,输入 [Y/N] \033[0m"
接下来 只需要将定义颜色的变量复制进自己的脚本,便可以方便的在脚本中应用了