美文网首页
Linux中echo指令输出彩色字符

Linux中echo指令输出彩色字符

作者: 天之蓝色 | 来源:发表于2018-03-01 16:50 被阅读276次

    echo指令用于在Unix Like类的系统中输出指定的字符,可以通过特定的方式给输出的字符定义颜色及背景颜色。 默认情况下echo会输出灰色(白色)字符,背景为黑色。

    1. 给输出的字符指定颜色

    借助echo-e选项来实现,语法格式为:

    echo -e "\033[3xmsome things you want to print out.\033[0m"  
    

    \033[3xm为ANSI控制码,表示要开始输出有颜色的字符了。
    some things you want to print out.表示要输出的字符,和3xm紧挨着,如果中间有空格,输出的字符前面也会有空格。
    3x为表示颜色的一组数字,x取值为0到7,分别代表的颜色如下:
    30表示黑色
    31表示红色
    32表示绿色
    33表示黄色
    34表示蓝色
    35表示紫色
    36表示浅蓝色
    37表示灰色
    033[0m为ANSI控制码,表示结束输出有颜色的字符。

    示例

    image.png

    2. 给输出的字符指定背景颜色

    同样借助echo-e选项来实现,语法格式为:

    echo -e "\033[4xsome things you want to print out.\033[0m"
    

    \033开头的都为ANSI控制码,和指定字符的颜色不同的是,这里用的是4x,常用的背景颜色也共8种,x取值为0到7。常用背景色如下:
    40表示背景为黑色。
    41表示背景为红色。
    42表示背景为绿色。
    43表示背景为黄色。
    44表示背景为蓝色。
    45表示背景为紫色。
    46表示背景为浅蓝色。
    47表示背景为灰白色。

    将输出带颜色的字符和背景结合起来使用示例如下:

    image.png
    以上即为输出灰白色背景红色字体的hello
    在需要同时指定输出字符和背景的颜色时,它们中间用冒号进行分隔,没有先后顺序,适应我们惯常的思维方式,一般先确定背景颜色,再确定字符的颜色。

    3. 其它常用的ANSI控制码

    \033[1m让输出的字符高亮显式
    \033[3m输出斜体字
    \033[4m给输出的字符加上下划线
    \033[5m让输出的字符闪烁显式
    \033[7m设置反显效果,即把背景色和字体颜色反过来显示

    相关文章

      网友评论

          本文标题:Linux中echo指令输出彩色字符

          本文链接:https://www.haomeiwen.com/subject/cligxftx.html