转义序列符

为了添加个人风格的彩色提示符,我们需要使用转义序列符。一个转义序列符是一个控制命令,它控制Shell执行某个特定的动作。一个转义序列符通常以 ESC开始,在Shell中被记录为”^[“,有时候也被常常记录为3(因为ESC在ASCII编码中是27,八进制就被记录为033)。为了直接在 Shell中输入一个转义序列符,一般会以“Ctrl+V”作为前导,也就是“Ctrl-v ESC”。

使用Shell颜色

首先使用一个例子来说明如何实现Shell彩色:

echo -e "33[0;32;40m这是条测试文字 33[0m"

这时候就会显示如下的提示符:

在上面命令中:
33[0;32;40m 表示定义后面文本的颜色
33 表示启动一个转义序列
[ 定义开始颜色定义
0 定义默认的字体颜色,其它部分稍后定义。
32 定义文本的前景色,这里32表示绿色;
40 定义文本的背景色,40表示黑色。
33[0m 在字符串的最后定义,它是用来恢复了默认的文本颜色设置,这样就只会得到一个彩色提示符,而不会影响命令和其输出的颜色显示(即黑底白字)。

颜色选项

前景色 背景色 颜色 颜色
30 40 黑色 ██
31 41 红色 ██
32 42 绿色 ██
33 43 黄色 ██
34 44 蓝色 ██
35 45 紫红色 ██
36 46 青蓝色 ██
37 47 白色 ██

示例

控制选项

文字效果

光标控制

33[nA 光标上移n行
33[nB 光标下移n行
33[nC 光标右移n行
33[nD 光标左移n行
33[y;xH设置光标位置 (33[1;100H)
33[K 清除从光标到行尾的内容
33[s 保存光标位置
33[u 恢复光标位置
33[?25l 隐藏光标
33[?25h 显示光标

屏幕控制

33[2J 清屏