# Linux Shell 颜色转义字符 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关,shell,python,perl等均可以调用。 转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。 ```bash # 背景色可以不用,后面必须以 m 结尾 \033[显示方式;前景色;背景色m ``` 可以看到由于三者取值范围各有不同,所以不会产生重合的问题,从其取值即可判断设定内容,所以设定时顺序可变。前景色和背景色的取值范围和颜色说明如下表所示: | 前景 | 背景 | 颜色 | |-----|------|-----| | 30 | 40 | 黑色 | | 31 | 41 | 红色 | | 32 | 42 | 绿色 | | 33 | 43 | 黄色 | | 34 | 44 | 蓝色 | | 35 | 45 | 洋红 | | 36 | 46 | 青色 | | 37 | 47 | 白色 | 显示方式设定值和含义如下表所示: | 代码 | 意义 | |-----|------| | 0 | 默认值/OFF | | 1 | 高亮加粗显示 | | 22 | 非高亮加粗 | | 4 | 下划线 | | 24 | 非下划线 | | 5 | 闪烁 | | 25 | 非闪烁 | | 7 | 反显 | | 27 | 非反显 | | 8 | 不可见 | 示例:PS1="\[\e[33;42;1m\h:\W \u\$\]" 前景色:黄色 背景色:绿色 样式:高亮加粗