linux终端中输出彩色字体

来源:互联网 发布:常用的js兼容性问题 编辑:程序博客网 时间:2024/04/29 07:55

先把控制码列出来:

\033[0m               关闭所有属性\033[1m        设置高亮度\033[4m                       下划线\033[5m                        闪烁\033[7m                        反显\033[8m                        消隐\033[30m----\33[37m 设置前景色\033[40m----\33[47m 设置背景色\033[nA                        光标上移n行\033[nB                       光标下移n行\033[nC                       光标右移n行\033[nD                       光标左移n行\033[y;xH                     设置光标位置\033[2J                        清屏\033[K                         清除从光标到行尾的内容\033[s                        保存光标位置\033[u                        恢复光标位置\033[?25l                      隐藏光标\033[?25h                     显示光标 
背景色:
40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
前景色:
30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色

控制字符是打开某种样式,输出完成时需要再关闭样式才能使terminal恢复到原来状态,简单例子:

printf("\e[32m%s\e[0m\n", "hello world");

\033和\e是一回事,使用\e会更简单一些,输出为绿色字体。

\e[32m为打开绿色前景色样式,\e[0m为关闭所有样式,如果未关闭,则所有输出字体均为绿色前景色,如下代码:

printf("\e[32m%s\n", "hello world");

绿色高亮代码如下:

printf("\e[32m\e[1m%s\e[0m\n", "hello world");

在shell中也可以直接用echo输出,需要加-e选项打开转义字符解释,如输出高亮的绿色字体为:

echo -e "\e[32m\e[1mhello world\e[0m"
原创粉丝点击