1.3 KiB
1.3 KiB
Linux Shell 颜色转义字符
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关,shell,python,perl等均可以调用。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
# 背景色可以不用,后面必须以 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$]" 前景色:黄色 背景色:绿色 样式:高亮加粗