跳转至

echo颜色

https://zhuanlan.zhihu.com/p/78085057

Shell设置颜色

写法

在shell、python等编程语言里面都有效。

Bash
echo -e '\033[43;34;4m 下划线 \033[0m'

结果:

img

语法解析

必须以033开头

语法结构:

Bash
\033[+背景色+;+字体色+;+效果+m

简单的相当于:

Bash
\033[样式m   最好最好是加上 \033[0m 消除影响

注意

  • 结尾要加上\033[0m消除样式,不然会影响后面显示样式

  • 背景色、字体色、效果值不冲突,所以可以只写一个,值直接使用;分割

  • 效果配合背景色、字体色可以改变颜色深浅,比如:\033[0;32m\033[1;32m颜色不一致的

  • bash下使用echo输出时注意要加-e参数,启用转义符

\033

\033ESC字符ASCII码的八进制,ESC的ASCII码是十进制的27,八进制的033(\033)。

还有其他ASCII码,比如\007对应del,可以发出嘟的一声。

样式

背景色

Bash
背景色取值范围: 40-49
40:  
41:  
42: 绿 
43:   
44:  
45:  
46: 深绿 
47: 灰白

字体色

Bash
字体颜色取值范围: 30-39
30:  
31:  
32: 绿 
33:   
34:  
35:  
36: 深绿 
37: 灰白
38:在缺省的前景颜色上设置下划线 
39:在缺省的前景颜色上关闭下划线

效果

Bash
效果取值范围: 0-8
0:不使用效果
1:高亮(加深)显示
2:低亮(减弱)显示   
4:下划线
5:闪烁
7:反显(替换背景色和字体颜色)
8:消隐

example

给FAIL红色高亮,PASS绿色高亮

Bash
echo -e '\033[31;1m FAIL! \033[0m'
echo -e '\033[32;1m PASS! \033[0m'