shell输出颜色、printf输出颜色
1.echo开启彩色输出:
-e 开启echo中的转义;
\e或者\033来输出Esc颜色;
恢复默认颜色为:\e[0m;
命令格式:
echo -e "\e[字背景颜色;文字颜色m字符串\e[0m"
echo -e "\e[字背景颜色;文字颜色;文字闪动m字符串\e[0m"
参考:man.linuxde.net/echo
字体背景颜色
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
字体颜色
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色
控制码
这里常用有 设置高亮度/下划线/闪烁/关闭所有属性
\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 显示光标
格式如下:
在ANSI终端下可以显示彩色代码:
如 printgf(“33[01;40;32m HELLO 33[01;40;37m”); 能显示绿色的HELLO字样。
printf("\033[0;32mPASSED\033[0;0m\n");
printf("\033[0;31mFAILED\033[0;0m\n");
这里33[是转义子列,表示后面接的是颜色代码。
01是高亮度,不写是低亮度。
40是背景色,40:黑,41:红:42:绿,43:黄,44:青,45:蓝,47:白。
32m是前景色:30:黑,31:红,32:绿,33:黄,34:蓝,35:紫,36:青,37:白。
实例:printf("\033[1;33m Hello World. \033[0m \n");
\033 [1; 33m xxxx
| | | |
开始 背景色 字体色 字符串
一些常见的颜色代码:
none = "\033[0m"
black = "\033[0;30m"
dark_gray = "\033[1;30m"
blue = "\033[0;34m"
light_blue = "\033[1;34m"
green = "\033[0;32m"
light_green -= "\033[1;32m"
cyan = "\033[0;36m"
light_cyan = "\033[1;36m"
red = "\033[0;31m"
light_red = "\033[1;31m"
purple = "\033[0;35m"
light_purple = "\033[1;35m"
brown = "\033[0;33m"
yellow = "\033[1;33m"
light_gray = "\033[0;37m"
white = "\033[1;37m"
#define NONE "\e[m"
#define RED "\e[0;31m"
#define GREEN "\e[0;32m"
#define YELLOW "\e[0;33m"
#define BLUE "\e[0;34m"