Linux中echo指令输出彩色字符

2018-03-01  本文已影响276人  天之蓝色

echo指令用于在Unix Like类的系统中输出指定的字符,可以通过特定的方式给输出的字符定义颜色及背景颜色。 默认情况下echo会输出灰色(白色)字符,背景为黑色。

1. 给输出的字符指定颜色

借助echo-e选项来实现,语法格式为:

echo -e "\033[3xmsome things you want to print out.\033[0m"  

\033[3xm为ANSI控制码,表示要开始输出有颜色的字符了。
some things you want to print out.表示要输出的字符,和3xm紧挨着,如果中间有空格,输出的字符前面也会有空格。
3x为表示颜色的一组数字,x取值为0到7,分别代表的颜色如下:
30表示黑色
31表示红色
32表示绿色
33表示黄色
34表示蓝色
35表示紫色
36表示浅蓝色
37表示灰色
033[0m为ANSI控制码,表示结束输出有颜色的字符。

示例

image.png

2. 给输出的字符指定背景颜色

同样借助echo-e选项来实现,语法格式为:

echo -e "\033[4xsome things you want to print out.\033[0m"

\033开头的都为ANSI控制码,和指定字符的颜色不同的是,这里用的是4x,常用的背景颜色也共8种,x取值为0到7。常用背景色如下:
40表示背景为黑色。
41表示背景为红色。
42表示背景为绿色。
43表示背景为黄色。
44表示背景为蓝色。
45表示背景为紫色。
46表示背景为浅蓝色。
47表示背景为灰白色。

将输出带颜色的字符和背景结合起来使用示例如下:

image.png
以上即为输出灰白色背景红色字体的hello
在需要同时指定输出字符和背景的颜色时,它们中间用冒号进行分隔,没有先后顺序,适应我们惯常的思维方式,一般先确定背景颜色,再确定字符的颜色。

3. 其它常用的ANSI控制码

\033[1m让输出的字符高亮显式
\033[3m输出斜体字
\033[4m给输出的字符加上下划线
\033[5m让输出的字符闪烁显式
\033[7m设置反显效果,即把背景色和字体颜色反过来显示

上一篇下一篇

猜你喜欢

热点阅读