shell输出颜色
Posted 大飞歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell输出颜色相关的知识,希望对你有一定的参考价值。
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"
以上是关于shell输出颜色的主要内容,如果未能解决你的问题,请参考以下文章