Shell终端输出字符的颜色总结

时间:2021-06-19 00:06:14

Shell终端输出的字符默认为黑底灰字。如何能够通过Shell的属性改变其颜色呢?这就需要使用颜色相关的控制串(control sequences)。

Shell的control sequences位于‘\[\033[’与‘\]’之间,而与颜色相关的control sequences位于‘\[\033[’与‘m\]’之间。

在Python中,直接以'\033[字体风格;前景色;背景色m'的形式设置终端输出的颜色。具体颜色值如下:

Shell终端控制颜色值
字体风格 前景色 背景色
0 - Reset 30 - Black 40 - Black
1 - FG Bright (Light) 31 - Red 41 - Red
2 - Unknown 32 - Green 42 - Green
3 - Unknown 33 - Yellow 43 - Yellow
4 - Underline 34 - Blue 44 - Blue
5 - BG Bright (Blink) 35 - Magenta 45 - Magenta
6 - Unknown 36 - Cyan 46 - Cyan
7 - Reverse 37 - White 47 - White
8 - Conceal    


  • 如,'\033[0;31m'表示红字黑底
  • 如,'\033[1;33;44m'表示黄字蓝底
  • 默认颜色格式'\033[0m',即不采用任何颜色设置属性

在Python中,使用如下:

...
print(message, sep='\033[1;33;44m', end='\033[0m')
...


参考链接:

http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
http://edoceo.com/howto/bash