shell 通过ANSI转换颜色

格式: echo -e "33[字背景颜色;字体颜色m字符串33[控制码"
如果单纯显示字体颜色可以固定控制码位0m。
格式: echo -e "33[字背景颜色;字体颜色m字符串33[0m"


字背景颜色范围:40 - 49

40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色


字颜色:30 - 39

30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色


ANSI控制码

33[0m 关闭所有属性
33[01m 设置高亮度
33[04m 下划线
33[05m 闪烁
33[07m 反显
33[08m 消隐
33[30m -- 33[37m 设置前景色
33[40m -- 33[47m 设置背景色
33[nA 光标上移n行
33[nB 光标下移n行
33[nC 光标右移n行
33[nD 光标左移n行
33[y;xH设置光标位置
33[2J 清屏
33[K 清除从光标到行尾的内容
33[s 保存光标位置
33[u 恢复光标位置
33[?25l 隐藏光标
33[?25h 显示光标


例如:

让字体变为红色并且不停的闪烁
#echo -e "33[31m 33[05m 请确认您的操作,输入 [Y/N] 33[0m"
或者

#echo -e "33[31m 33[05m 请确认您的操作,,输入 [Y/N] 33[0m"

经过测试发现只能在Linux下使用,win7无法使用。

原文地址:https://www.cnblogs.com/hukey/p/7061965.html