• linux console 显示颜色【转】


    http://blog.csdn.net/hejinjing_tom_com/article/details/12162491

    引言: 由于在c代码中看到过打印彩色字, 又对PS1 想进一步了解,才有了这篇博文。

    Linux 终端控制台字体颜色

    Linux 终端控制台字体颜色,用到一个 转义序列
    e[F;B;Om
    e 转义字符开始,ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表示的 033。

    e 或 33 声明了转义序列的开始,
    [ 开始定义颜色。
    'F' 为字体颜色,编号30~37;
    'B' 为背景色,编号40~47。
    'O' 为特殊意义代码
    它们的顺序没有关系。
    m 是标记
    m 后面不用跟空格,是所定义的彩色字和背景
    颜色表
    前景 背景颜色
    -------------------------
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 洋红
    36 46 青色
    37 47 白色

    特别代码意义
    -------------------------
    0 OFF
    1 高亮显示
    4 underline
    5 闪烁
    7 反白显示
    8 不可见
    

    应用1:解释带颜色的PS1
    PS1="
    e[32m
    [u@h w]( e[m " 解释: 为成组表示 定义[u@h w]) 为前景色绿色。 然后恢复默认设置。

    应用2:用控制台输出彩色字或彩色背景
    echo -e "33[34;1mthis is high lighted blue 33[0m"
    c 代码: printf("33[34;1mthis is high lighted blue 33[0m " );
    尾部的33[0m 恢复了系统默认颜色

    直到我看过了echo 程序的源码, 才对echo -e 的输出有了更深的理解。
    那个双引号" 是bash分辨词素的标记,这样可以在双引号中加空格,整个双引号内容(不含双引号本省)被当做一个argv传递。
    echo -e 还支持回车,换行,tab,响铃,垂直分割线以及16进制字符数据(x## 2bytes)。
    当然,上句的printf, 更是简单的字符串照印了,注意了,33 可是8进制数据,代表一个27 字符
    下面看几个例子:

    echo -e "33[30m 黑色字 33[0m"
    echo -e "33[31m 红色字 33[0m"
    echo -e "33[32m 绿色字 33[0m"
    echo -e "33[33m 黄色字 33[0m"
    echo -e "33[34m 蓝色字 33[0m"
    echo -e "33[35m 紫色字 33[0m"
    echo -e "33[36m 天蓝字 33[0m"
    echo -e "33[37m 白色字 33[0m"

    echo -e "33[40;37m 黑底白字 33[0m"
    echo -e "33[41;37m 红底白字 33[0m"
    echo -e "33[42;37m 绿底白字 33[0m"
    echo -e "33[43;37m 黄底白字 33[0m"
    echo -e "33[44;37m 蓝底白字 33[0m"
    echo -e "33[45;37m 紫底白字 33[0m"
    echo -e "33[46;37m 天蓝底白字 33[0m"
    echo -e "33[47;30m 白底黑字 33[0m"

  • 相关阅读:
    Java基础环境配置及HelloWorld
    Cassandra 在 360 的实践与改进
    如何构建阿里小蜜算法模型的迭代闭环?
    通用高效的数据修复方法:Row level repair
    RALM: 实时 Look-alike 算法在微信看一看中的应用
    人机对话技术研究进展与思考
    打造最可靠的自动驾驶基础架构
    Django中render和render_to_response的区别
    ui自动化chrome文件上传操作
    超继承super
  • 原文地址:https://www.cnblogs.com/jijizhazha/p/7744770.html
Copyright © 2020-2023  润新知