NotePublic/Software/System/Linux/Modules/Shell/Linux_Shell_颜色转义字符.md

44 lines
1.3 KiB
Markdown
Raw Normal View History

# 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\$\]"
前景色:黄色
背景色:绿色
样式:高亮加粗