Linux中利用echo命令实现字体样式的改变:echo -e

Linux中利用echo命令实现字体样式的改变

相信有很多小伙伴或多或少都在某个地方见到过 echo 这个东东,在高级语言PHP中,存在着echo函数、在Redis中也有着echo的命令,而在我们所熟知的linux中当然也少不了echo的身影,由此可见echo的用途是很广的,并且是很有用处的,那么今天我将带大家了解一下如何使用echo命令在linux系统中去实现字体的个性化/样式化:

echo实现字体个性化:

相关命令格式: echo -e "\033[n1;n2;n3;…Textm\033[n1;n2;n3;…m"

上述就是设置字体样式,实现个性化的命令格式,接下来我将给大家讲解一下具体原理以及如何使用它。

这条命令格式中 -e 是指 enable interpretation of backslash escapes,它的本意是指 **反斜杠转义的解释,简单来理解,就是指 **字符的解释使之达到调整样式的目的!,而 -e 后面的 “\033[n1;n2;n3;…Textm\033[n1;n2;n3;…m” 就是去 设置字体相关的样式,详解如下:

\033[引导非常规字符序列,你可以理解成解释器的开头(开启字符解释),而 m 就与之相反,它是指 结束非常规字符序列,即解释器的尾部(结束字符解释,与\033[首尾呼应),而在 \033[m 之间的那些n1、n2、n3等等就是指 你所想要设置的样式编码,例如,在命令行输入这样一条命令 echo -e “\033[1;31m 一剑霜寒十四州\033[0m” ,结果如下:

Linux中利用echo命令实现字体样式的改变:echo -e

再或者 echo -e “\033[1;34m 一剑霜寒十四州\033[0m”,效果如下:

Linux中利用echo命令实现字体样式的改变:echo -e

以上两个例子都成功地修改了输出的字符串的样式,前一个为 粗体加红,后一个为 粗体加蓝,这是因为我在命令中所设置的编码1对应的就是粗体的效果,而编码31对应的是字体标红的效果,编码34对应的是字体标蓝的效果,也就是上述所谓的n1,n2,n3…,我们设置不同的编码值就对应不同的样式效果,以下是我整理的编码值表,供大家参考:

编码 颜色/动作
0 重新设置属性到缺省设置
1 设置粗体
2 设置一半亮度(模拟彩色显示器的颜色)
4 设置下划线(模拟彩色显示器的颜色)
5 设置闪烁
7 设置反向图象
22 设置一般密度
24 关闭下划线
25 关闭闪烁
27 关闭反向图象
30 设置黑色前景
31 设置红色前景
32 设置绿色前景
33 设置棕色前景
34 设置蓝色前景
35 设置紫色前景
36 设置青色前景
37 设置白色前景
38 在缺省的前景颜色上设置下划线
39 在缺省的前景颜色上关闭下划线
40 设置黑色背景
41 设置红色背景
42 设置绿色背景

看吧,其实个性化输出文本就是一个很简单的命令运用而已,我相信看完整篇文章的小伙伴们也应该学会了如何在终端使用echo去个性化设置文本的样式了,那么,最后,我们不妨用一个简单的需求来小小地考验一下一下自己,看看自己到底是否真正的学会了这个命令,下面是这个简单的 需求

请输出一段文本,内容为“一剑在手,天下无双!”,要求:将文本设为粗体,并且对其设置闪烁效果,再将文本颜色调整为绿色(此非原谅色,此乃健康色,老司机们,切莫想歪了,奸笑,嘿嘿嘿~),最后给文本设个下划线样式。

下面是我给出的答案:echo -e “\033[1;5;32;4m一剑在手,天下无双!\033[0m”,大家可以对比看看,我相信应该都是一致的!那么这篇文章就到此结束了,如果小伙伴们还有兴趣,可以试着将 echo -e "\033[1;5;32;4m一剑在手,天下无双!\033[0m"里面的最后一段 \033[0m 去掉试试,改成echo -e “\033[1;5;32;4m一剑在手,天下无双!”,然后发现结果有什么不同点,再自己仔细思考思考,结合上面所讲的开启解释以及结束解释的内容,你将会拨开迷雾见真理,哈哈哈哈哈!大家江湖再见!