文章目录
  1. 1. 终端颜色控制

终端颜色控制

Shell通过转义字符序列来控制颜色和光标等行为

格式:
echo -e "\033[Attribute code;Frontground color code;Background color code m"
Attribute code, Frontground, Background 是可选的,可以只有其中一个选项
echo -e的目的是让echo识别转移字符
\033是表示escape的八进制表示

Escape sequence Attribute
0 关闭所有属性 none
1 加粗 bold
4 下划线 underscore
5 闪烁 blink
7 反显 reverse
8 消影 concealed
nA 光标上移n行
nB 光标下移n行
nC 光标右移n列
nD 光标左移n列
y;xH 设置光标位置
2J 清屏
K 清除从光标到行尾的内容
s 保存光标位置
u 恢复光标位置
?25l 隐藏光标
?25h 显示光标

Color Front ground Back ground
黑色 black 30 40
红色 red 31 41
绿色 green 32 42
黄色 yellow 33 43
蓝色 blue 34 44
紫色 purple 35 45
青色 cyan 36 46
白色 white 37 47

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
echo -e "\033[0;30m Color test - Front Black!\033[0m"
echo -e "\033[0;31m Color test - Front Red!\033[0m"
echo -e "\033[0;32m Color test - Front Green!\033[0m"
echo -e "\033[0;33m Color test - Front Yellow!\033[0m"
echo -e "\033[0;34m Color test - Front Blue!\033[0m"
echo -e "\033[0;35m Color test - Front Purple!\033[0m"
echo -e "\033[0;36m Color test - Front Cyan!\033[0m"
echo -e "\033[0;37m Color test - Front White!\033[0m"
echo
echo -e "\033[0;30;47m Color test - Front Black, Back White!\033[0m"
echo -e "\033[0;31;46m Color test - Front Red, Back Cyan!\033[0m"
echo -e "\033[0;32;45m Color test - Front Green, Back Purple!\033[0m"
echo -e "\033[0;33;44m Color test - Front Yellow,Back Blue!\033[0m"
echo -e "\033[0;34;43m Color test - Front Blue, Back Yellow!\033[0m"
echo -e "\033[0;35;42m Color test - Front Purple,Back Green!\033[0m"
echo -e "\033[0;36;41m Color test - Front Cyan, Back Red!\033[0m"
echo -e "\033[0;37;40m Color test - Front White, Back Black!\033[0m"

效果如下:
Escape Sequence Color test

文章目录
  1. 1. 终端颜色控制