echo 输出彩色字符
借助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控制码,表示结束输出有颜色的字符。
\033
开头的都为ANSI控制码,和指定字符的颜色不同的是,这里用的是4x
,常用的背景颜色也共8种,x
取值为0到7。常用背景色如下:40
表示背景为黑色。41
表示背景为红色。42
表示背景为绿色。43
表示背景为黄色。44
表示背景为蓝色。45
表示背景为紫色。46
表示背景为浅蓝色。47
表示背景为灰白色。背景和前景一起用:
\033[47;33m
在需要同时指定输出字符和背景的颜色时,它们中间用冒号进行分隔,没有先后顺序,适应我们惯常的思维方式,一般先确定背景颜色,再确定字符的颜色。
\033[1m让输出的字符高亮显式 \033[3m输出斜体字 \033[4m给输出的字符加上下划线 \033[5m让输出的字符闪烁显式 \033[7m设置反显效果,即把背景色和字体颜色反过来显示
高亮和前景色合用