如何在Linux命令行里输出带颜色的文字

如何在Linux命令行里输出带颜色的文字,第1张

在linux命令行里输出带颜色的字符,需要使用ascii码里的字符属性设置描述符。

\033[0m 关闭所有属性

\033[1m 设置高亮度

\033[30m 至 \33[37m 设置前景

\033[40m 至 \33[47m 设置背景色

其中颜色代码是:

背景颜色范围:40----49

40:黑

41:深红

42:绿

43:黄色

44:蓝色

45:紫色

46:深绿

47:白色

字(前景)颜色:30-----------39

30:黑

31:红

32:绿

33:黄

34:蓝色

35:紫色

36:深绿

37:白色

例如你要输出红色的“hello world”:

\033[31mheool world \033[0m

带颜色的字符本身的编码是包含颜色码的,这一点往往不会有太多的影响,可一旦被他影响了,那就是掉入了一个大坑里。

所幸的是sed可以用来去除字符中的颜色代码

sed remove color codes

sed "s,\x1B\[[0-9]*[a-zA-Z],,g"11

还有一个编码表示的问题

\033 \x1B 表示ESC

关于更多Linux的学习,请查阅书籍《linux就该这么学》。

echo -e "\033[44375m ME \033[0m COOL"

以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字符ME,然后重新设置屏幕到缺省设置,输出字符me后颜色回复正常

e是echo的一个可选项,它用于激活特殊字符的解析器。\033引导非常规字符序列。意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是

44375和0。修改44375可以生成不同颜色的组合,数值和编码的前后顺序没有关系。

可以选择的编码如下所示:

编码 颜色/动作

0 重新设置属性到缺省设置

1 设置粗体

2 设置一半亮度(模拟彩色显示器的颜色)

4 设置下划线(模拟彩色显示器的颜色)

5 设置闪烁

7 设置反向图象

22 设置一般密度

24 关闭下划线

25 关闭闪烁

27 关闭反向图象

30 设置黑色前景

31 设置红色前景

32 设置绿色前景

33 设置棕色前景

34 设置蓝色前景

35 设置紫色前景

36 设置青色前景

37 设置白色前景

38 在缺省的前景颜色上设置下划线

39 在缺省的前景颜色上关闭下划线

40 设置黑色背景

41 设置红色背景

42 设置绿色背景

43 设置棕色背景

44 设置蓝色背景

45 设置紫色背景

46 设置青色背景

47 设置白色背景

49 设置缺省黑色背景


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8894968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存