linux下使用echo出有颜色的打印输出

要是通过彩色化提示符来增加个性化,就要用到转义序列。 转义序列就是一个让 shell 执行一个特殊步骤的控制指令。 转义序列通常都是以 ESC 开头(这也是它的命名原因)。 在 shell 里表示为 ^[。这种表示法需要一点时间去适应, 也可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33),转义字符用、“\e”.也就是说上面的\033、\e是相同的意思

格式

echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"

我们来上个例子

echo -e "\033[43;35m Hellow world ! \033[0m"

其中43的位置代表底色, 35的位置是代表字的颜色

那些ascii code 是对颜色调用的始末. 

\033[ ; m …… \033[0m

字背景颜色范围 40-49 

40:黑 
41:深红 
42:绿 
43:黄色 
44:蓝色 
45:紫色 
46:深绿 
47:白色

字颜色范围30-39

30:黑 
31:红 
32:绿 
33:黄 
34:蓝色 
35:紫色 
36:深绿 
37:白色

ANSI控制码的说明 

\33[0m 关闭所有属性 
\33[1m 设置高亮度 
\33[4m 下划线 
\33[5m 闪烁 
\33[7m 反显 
\33[8m 消隐 
\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 显示光标


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/151.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。