linux终端颜色控制

引言: 由于在c代码中看到过打印彩色字, 又对PS1 想进一步了解,才有了这篇博文。
----------------------------------------
Linux 终端控制台字体颜色  
----------------------------------------
Linux 终端控制台字体颜色,用到一个 转义序列
e[F;B;Om
e 转义字符开始,ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表示的 033。


e 或 33 声明了转义序列的开始, 
[ 开始定义颜色。 
'F' 为字体颜色,编号30~37;
'B' 为背景色,编号40~47。
'O' 为特殊意义代码
它们的顺序没有关系。
m 是标记
m 后面不用跟空格,是所定义的彩色字和背景
   颜色表
    前景 背景颜色
    -------------------------
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 洋红 
    36 46 青色
    37 47 白色

    特别代码意义
    -------------------------
    0 OFF
    1 高亮显示
    4 underline
    5 闪烁
    7 反白显示
    8 不可见


应用1:解释带颜色的PS1
PS1="[e[32m][u@h w]$[e[m]"
解释:[] 为成组表示
定义[u@h w]$ 为前景色绿色。 然后恢复默认设置。

应用2:用控制台输出彩色字或彩色背景
echo -e  "33[34;1mthis is high lighted blue 33[0m" 
c 代码: printf("33[34;1mthis is high lighted blue 33[0m " );
尾部的33[0m 恢复了系统默认颜色

原文地址:https://www.cnblogs.com/chip/p/4064112.html