linux上printf输出带颜色和高级格式控制(推荐)

所属分类: 操作系统 / unix linux 阅读数: 99
收藏 0 赞 0 分享

\033[显示方式; 前景色; 背景色 m

显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)

前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)

背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

记得在打印完之后,把颜色恢复成默认(\033[0m),不然再后面的打印都会跟着变色。

例如: 

 printf("\033[1;31;46m PumpKing \033[0m");

效果为:

---------------------------------------进阶分隔线----------------------------------------

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

通过转义序列设置终端显示属性时,常见格式为:

\033[显示方式;前景色;背景色m输出字符串\033[0m

\e[显示方式;前景色;背景色m输出字符串\033[0m

#define NONE     "\e[0m"
 #define BLACK    "\e[0;30m"
 #define L_BLACK    "\e[1;30m"
 #define RED     "\e[0;31m"
 #define L_RED    "\e[1;31m"
 #define GREEN    "\e[0;32m"
 #define L_GREEN    "\e[1;32m"
 #define BROWN    "\e[0;33m"
 #define YELLOW    "\e[1;33m"
 #define BLUE     "\e[0;34m"
 #define L_BLUE    "\e[1;34m"
 #define PURPLE    "\e[0;35m"
 #define L_PURPLE    "\e[1;35m"
 #define CYAN     "\e[0;36m"
 #define L_CYAN    "\e[1;36m"
 #define GRAY     "\e[0;37m"
 #define WHITE    "\e[1;37m" 
 #define BOLD     "\e[1m"
 #define UNDERLINE   "\e[4m"
 #define BLINK    "\e[5m"
 #define REVERSE    "\e[7m"
 #define HIDE     "\e[8m"
 #define CLEAR    "\e[2J"
 #define CLRLINE    "\r\e[K" //or "\e[1K\r"

总结

以上所述是小编给大家介绍的linux上printf输出带颜色和高级格式控制,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

教你隐藏Linux的命令行历史

有的时候你可能不想让一些命令记录你的的命令行历史中,本文整理了多种方法让你可以参考。
收藏 0 赞 0 分享

怎样在Linux上录制你的终端操作及回放

在这次的文章中,我们将简单的了解一下如何在Linux上录制和回放终端会话及以gif格式记录的方法。
收藏 0 赞 0 分享

SUSE Linux登录出现黑屏解决方法

登录linux时出现黑屏的找到这篇解决SUSE的黑屏问题
收藏 0 赞 0 分享

个人学习Linux知识总结第1/4页

个人学习linux经常用到的小知识,方便大家以后查阅
收藏 0 赞 0 分享

Linux 下rename 命令的用法第1/2页

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man r
收藏 0 赞 0 分享

Centos 源

Centos操作说明
收藏 0 赞 0 分享

linux备份文件命令收集

收集一些linux下实现文件备份
收藏 0 赞 0 分享

Linux rdesktop操作系统下远程登录Windows XP桌面

众所周知XP下有"远程桌面连接"用来远程登录桌面,设置也非常简单。那有没有什么办法在linux下远程登录到XP呢?有。用rdesktop这个linux下的软件就能实现。
收藏 0 赞 0 分享

Linux操作系统添加新硬盘方法

linux下添加硬盘的方法
收藏 0 赞 0 分享

CentOS 5.1 4.6最新官方下载地址列表

最近公司接触到centos系统,于是找了下,不太容易找到,所以我直接把官方的下载地址,给贴出来了,方便以后下载
收藏 0 赞 0 分享
查看更多