zoukankan      html  css  js  c++  java
  • shell下实现echo彩色输出

    需求

    编写脚本有大量输出信息,希望通过彩色文字突出关键内容。

    实现

    网上很多方法通过echo转义字符实现彩色输出,代码如下

    echo -e "e[1;31m This is red text e[0m"
    

    过于晦涩,考虑更简洁的方法:调用tput命令

    tput 命令会利用 terminfo 数据库中的信息,来控制和更改我们的终端,
    比如控制光标、更改文本属性、控制屏幕,以及为文本涂色。

    其中,为文本涂色的方法是:

    • tput setab:设置背景色;
    • tput setaf: 设置前景色。

    其中颜色的定义如下

    数值 0 1 2 3 4 5 6 7
    颜色 黑色 红色 绿色 黄色 蓝色 品红 青色 白色

    这里给一个展示脚本:

    #!/bin/bash
    K=`tput setaf 0`
    R=`tput setaf 1`
    G=`tput setaf 2`
    Y=`tput setaf 3`
    B=`tput setaf 4`
    M=`tput setaf 5`
    C=`tput setaf 6`
    W=`tput setaf 7`
    # Use Q to revert color
    Q=`tput sgr0`
    
    echo "${R}red ${G}green ${B}blue ${Q}"
    echo "${C}cyan ${M}magenta ${Y}yellow ${K}black ${Q}"
    

    效果

    参考

    bash - How to change the output color of echo in Linux - Stack Overflow

  • 相关阅读:
    Linux内存管理和应用
    Linux之IRQ domain
    Sass的的使用三
    Sass的的使用二
    Sass的的使用一
    sass的使用
    jQuery核心语法
    jQuery动画处理
    jQuery事件总结
    jQuery 的DOM操作
  • 原文地址:https://www.cnblogs.com/azureology/p/13745918.html
Copyright © 2011-2022 走看看