虽然说完整的程序都具备完善的日志系统,日志系统也是日常调试维护过程中最能体现问题的手段。但在程序初期验证阶段或者其他特殊场景下,前台输出更能直接的反馈当前的关键状态。
一个典型的例子是:测试程序在测试过程中,定时在前台输出关键指标,测试时只需要定时查看前台输出就可以判定运行状态。
但是当输出数据较多,输出内容复杂时。在大量的字符中找打关键参数并不是一件简单的事情。
这就引出了标题中的需求,在Linux终端中输出彩色字符。
Linux输出终端支持识别特定字段并改变终端属性。
需要特别注意的是:上述每一个代码标识一个状态被设置,例如设置了一个颜色标识后,随后输出的所有字符均为对应颜色。因此在使用时需要和“关闭属性”同时使用。
常见的颜色控制命令:
printf("\033[32,41m测试输出内容\033[0m\n");
实际上,在已经又大量文章讲述如何控制颜色输出的前提下,还要写这篇文章的出发点是希望说明\033本身时一系列的控制标识,其作用不仅限于改变终端颜色。
结合实际编程,每一次输出都单独更改终端属性会比较繁琐。可以选择构建一组宏定义实现对终端的属性控制。
本文参考了以下文档: