转载请注明来源:https://www.cnblogs.com/hookjc/

统一定义:
#define NONE         "\033[m" 
#define RED          "\033[0;32;31m" 
#define LIGHT_RED    "\033[1;31m" 
#define GREEN        "\033[0;32;32m" 
#define LIGHT_GREEN  "\033[1;32m" 
#define BLUE         "\033[0;32;34m" 
#define LIGHT_BLUE   "\033[1;34m" 
#define DARY_GRAY    "\033[1;30m" 
#define CYAN         "\033[0;36m" 
#define LIGHT_CYAN   "\033[1;36m" 
#define PURPLE       "\033[0;35m" 
#define LIGHT_PURPLE "\033[1;35m" 
#define BROWN        "\033[0;33m" 
#define YELLOW       "\033[1;33m" 
#define LIGHT_GRAY   "\033[0;37m" 
#define WHITE        "\033[1;37m"

比如:
                        printf("\033[31m ####----->> \033[32m" "hello\n" 
                        "\033[m");
                        颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
                                背景色                        字体色
                                40: 黑                          30: 黑
                                41: 红                          31: 红
                                42: 绿                          32: 绿
                                43: 黄                          33: 黄
                                44: 蓝                          34: 蓝
                                45: 紫                          35: 紫
                                46: 深绿                      36: 深绿
                                47: 白色                      37: 白色 
                        记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
                         
                        另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:
                        \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   显示光标
                        printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );
                        fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );

来源:python脚本自动迁移

linux上printf出带颜色字体的更多相关文章

  1. linux下printf打印带颜色的字符串

    转载:http://blog.chinaunix.net/uid-28917424-id-3889917.html 前不久就在某位同学的博客里看到,但是今天找了好久没找到,就直接google了,现贴出 ...

  2. 在 Linux 上找出并解决程序错误的主要方法【转】

    转自:https://www.ibm.com/developerworks/cn/linux/sdk/l-debug/index.html 本文讨论了四种调试 Linux 程序的情况.在第 1 种情况 ...

  3. Shell 显示带颜色字体

    格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"如果单纯显示字体颜色可以固定控制码位0m.格式: echo "/033[字背景颜色;字体颜色m ...

  4. 在Linux中让打印带颜色的字

    echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;37 ...

  5. shell中变量字符串的截取 与 带颜色字体、背景输出

    字符串截取 假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 /及其左边的字符串:dir ...

  6. Linux上printf命令的用法

    printf格式化输出 基本格式 printf [format] [文本1] [文本2] .. 常用格式替换符 %s 字符串 %f 浮点格式 %c ASCII字符,即显示对应参数的第一个字符 %d,% ...

  7. python打印带颜色字体

    设置颜色开始 :\033[显示方式;前景色;背景色m 前景色 背景色 颜色 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青 ...

  8. 如何在shell中打印出带颜色的字符?

    先看如下的效果: 方法: 先看如下的脚本sh3.sh: #!/bin/bash echo "peng" echo "$(color bold yellow) ------ ...

  9. Linux编程之定制带级别的log

    我的开发组长曾经说过这么一段话"一个优秀的程序员不在于他写代码有多快,也不在于他能不能实现这个模块的功能,要实现业务实现功能谁不会啊,重要的是他的解决能力,也就说当程序出现错误时你能不能够快 ...

随机推荐

  1. .net core的配置介绍(二):自定义配置(Zookeeper,数据库,Redis)

    上一篇介绍了.net core的配置原理已经系统提供的一些常用的配置,但有时我们的配置是存放在Zookeeper,DB,Redis中的,这就需要我们自己去实现集成了. 这里再介绍几个我们用的多的配置集 ...

  2. 表达式树扩展 动态生成表达式树插件 Sy.ExpressionBuilder。

    CURD中,基础查询我感觉还是很烦人的一个浪费时间的工作,我经历过远古时代的GetAll(string name,int age),这种方式写服务的时候真的是心中一万个草泥马飞过,后面逐渐的变成了传一 ...

  3. Flask_获取请求信息(三)

    引用request的方法: from flask import request 与Django不同的是,flask是不需要将request对象作为第一个参数传入视图函数,他的request对象是来自于 ...

  4. GNU C字节对齐__attribute__((aligned(n))) #pragma pack(n)

    在阅读gnu软件c源代码时,经常会遇到字节对齐相关操作,比如uboot命令相关的代码中,会遇到__attribute__((aligned(n)))扩展关键字,#pragma pack(n)预处理指令 ...

  5. day2 数组字符串逆序存放正序对接调试

    这个问题仔细想了想,是s,t,s[],t[],重定义了,导致输入的是s,t这个定义变量,与传参传的是指针变量就不匹配了. 如果加上对s,t的地址,让传参的形式想匹配,还是报错,这块也没有弄懂,初步觉的 ...

  6. 微信小程序云开发指南

    一.初识云开发 官方文档 小程序·云开发是微信团队联合腾讯云推出的专业的小程序开发服务. 开发者可以使用云开发快速开发小程序.小游戏.公众号网页等,并且原生打通微信开放能力. 开发者无需搭建服务器,可 ...

  7. jsp标签 formatNumber、formatDate、parseNumber、parseDate的使用

    引用本文的有关标签需要引用对应的标签库 <%--引入格式化动作标签库--%> <%@taglib prefix="fmt" uri="http://ja ...

  8. 【刷题-PAT】A1112 Stucked Keyboard (20 分)

    1112 Stucked Keyboard (20 分) On a broken keyboard, some of the keys are always stucked. So when you ...

  9. Elasticsearch使用系列-ES简介和环境搭建

    一.简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并 ...

  10. WebGPU相关的资源学习和社区

    我在网上搜寻了很多关于WebGPU相关的资料: #我觉得首先在B站上看到的徐博士免费教程非常好,讲解详细,并且评论回复比较快,都会有回应,徐博士B站网址:https://space.bilibili. ...