用C、Python和Shell语言在终端打印格式化和彩色文本


例子

以打印一个蓝色斜体的”hello, world“为例:

  • C

    printf("\033[3;34mhello, world\033[0m\n");
    
  • python

    print "\033[3;34mhello, world\033[0m"
    
  • Shell

    echo -e '\033[3;34mhello, world\033[0m'
    

格式

\033[Para0{;Para1...}mYOUR_TEXT\033[0m
  • \033[Para0{;Para1...}m 表示转义开始
  • \033[0m 作为转义结束
  • Para0(1,2...) 参数可以为多个,比如上述例子中,3表示为斜体,34表示蓝色
  • YOUR_TEXT 在例子中就是hello, world

参数

Linux中通过man console_codes命令可查看详细的参数描述,这里写一下常用的格式和颜色:

  • 常用格式:
参数代码 描述
0 重置所有格式
1 粗体(高亮)
2 暗色
3 斜体
4 下划线
5 闪烁
  • 常用颜色:

(前景色为30+颜色代码;背景色为40+颜色代码。)

颜色 代码 前景 背景
0 30 40
1 31 41
绿 2 32 42
3 33 43
4 34 44
洋红 5 35 45
6 36 46
7 37 47

参考与扩展

通过printf设置Linux终端输出的颜色和显示方式, clover_toeic, 2014-10-17

How to: Change / Setup bash custom prompt (PS1), June 2, 2007