zoukankan      html  css  js  c++  java
  • [转载]linux终端输出带有颜色的字体

    原文地址:http://notes.houqp.com/doku.php?id=set_terminal_font_color

    Hello World

    要改变输出文字的颜色其实很简单,我们先来个hello world:

    echo -e "\033[0;31;40mhello world"

    基本语法

    根据上面的代码,我来解释一下它的语法结构。

    首先,”“里面的hello world应该很好理解了,就是我们要输出的内容,关键是前面的\033[0;31;40m,这里需要遵循一定的规律。

    其中\033指的是33(8进制)代表escape字符,与”[“连起来就是设置字符颜色的标志。也就是说,当xterm看到”\033[“时就知道后面接的是要打印的字符的颜色设定。所以每次设定颜色的时候都要以这个开头。当然,你也可以用16进制来表示这个开头:

    echo -e "\x1b\x5b0;31;40mhello world"

    或者用”\e[“:

    echo -e "\e[0;31;40mhello world"

    “\033[“后面接的是三个参数,都用数字给出并以”;”号分隔。他们分别代表字体属性,字体颜色与背景颜色。

    以我们的hello world为例,0代表重置原来的所有属性,31是红色的代码,40则是黑色背景的代码。

    关于具体每个参数有哪些可选的值,请看下面。

    参数代码

    以下只列举了常用的一部分代码,更完整的列表暂时还没找到。

    字体属性
    0 Reset All Attributes (return to normal mode)
    1 Bright (usually turns on BOLD)
    2 Dim
    3 Underline
    5 Blink
    7 Reverse
    8 Hidden
    字体颜色
    30 black
    31 dark red
    32 light green
    33 dark yellow
    34 dark blue
    35 light violet
    36 light blue, cyan
    37 white
    背景颜色
    40 Black
    41 Red
    42 Green
    43 Yellow
    44 Blue
    45 Magenta
    46 Cyan
    47 White

    有一点要注意的是所有颜色配上1m参数做为背景时就会被加亮,例如31;1m代表更亮的红。但这时就无法指定背景了。

    想要要各种字体的颜色,可以运行这个脚本:

    color-matrix.sh
    #!/bin/bash
     
    #对7种颜色的加亮
    for i in `seq 30 37`;do 
    	echo -e "\x1b\x5b0;$i;1m $i;1m"
    done
     
    #7种颜色与7种背景的搭配
    for j in `seq 40 47`;do
    	for i in `seq 30 37`;do 
    		echo -e "\x1b\x5b0;$i;"$j"m $i;"$j"m"
    	done
    done

    更多颜色

    后来发现原来可以现实更多的颜色!!! 请看这个脚本

  • 相关阅读:
    Java变量的作用域
    Java访问修饰符(访问控制符)
    Java类的定义及其实例化
    强调一下编程风格
    Java StringBuffer与StringBuider
    Java字符串(String)
    windows eclipse安装lombok插件
    mac 下eclipse安装lombok插件
    【四】Ribbon负载均衡
    【三】Eureka服务注册与发现
  • 原文地址:https://www.cnblogs.com/icejoywoo/p/2061323.html
Copyright © 2011-2022 走看看