zoukankan      html  css  js  c++  java
  • SHELL输出颜色和闪烁控制

    Shell 颜色和闪烁控制

    在Shell下有时候需要定制输出,比如给输出加上颜色,或者显示高亮,或者添加闪烁等。
    然后这些颜色代码或者控制码等相对不好记住。这个时候我们可以考虑把最终想要的结果制定成对应的函数,
    在使用的时候直接调用函数会方便很多

    格式

    echo -e "33[字背景颜色;字体颜色m字符串33[控制码"
    

    定制颜色函数

    ## blue to echo 
    function blue(){
        echo -e "33[34m[ $1 ]33[0m"
    }
    
    
    ## green to echo 
    function green(){
        echo -e "33[32m[ $1 ]33[0m"
    }
    
    ## Error to warning with blink
    function bred(){
        echo -e "33[31m33[01m33[05m[ $1 ]33[0m"
    }
    
    ## Error to warning with blink
    function byellow(){
        echo -e "33[33m33[01m33[05m[ $1 ]33[0m"
    }
    
    
    ## Error
    function bred(){
        echo -e "33[31m33[01m[ $1 ]33[0m"
    }
    
    ## warning
    function byellow(){
        echo -e "33[33m33[01m[ $1 ]33[0m"
    }
    

    可以把这些函数写入到一个公共的SHELL脚本中,每次在编写其他脚本的时候用如下方式调用,即可

    source /root/bin/common
    

    或者可以把上述代码直接粘贴到当前编写的脚本中去。

    当然可以推荐第一种方式。不用每次都复制粘贴。 直接 source 调用 即可

    举例

    root@pts/4 $ cat /root/bin/common 
    #!/usr/bin/env bash
    
    ## blue to echo 
    function blue(){
        echo -e "33[35m[ $1 ]33[0m"
    }
    
    
    ## green to echo 
    function green(){
        echo -e "33[32m[ $1 ]33[0m"
    }
    
    ## Error to warning with blink
    function bred(){
        echo -e "33[31m33[01m33[05m[ $1 ]33[0m"
    }
    
    ## Error to warning with blink
    function byellow(){
        echo -e "33[33m33[01m33[05m[ $1 ]33[0m"
    }
    
    
    ## Error
    function red(){
        echo -e "33[31m33[01m[ $1 ]33[0m"
    }
    
    ## warning
    function yellow(){
        echo -e "33[33m33[01m[ $1 ]33[0m"
    }
    Dev-web-solr [/opt/hexo2] 2016-11-28 17:52:03
    root@pts/4 $ cat /root/bin/test.sh 
    #!/usr/bin/env bash
    
    source /root/bin/common
    
    green "hello world with green color"
    blue "hello world with blue color"
    
    bred "error info with blink"
    byellow "warning info with blink"
    

    测试结果如下所示

     
    shell-color-1.png
     
    shell-color-2.png

    附加 shell输出 字体背景颜色和字体颜色,控制码等参数

    字体背景颜色

    40:黑 
    41:深红 
    42:绿 
    43:黄色 
    44:蓝色 
    45:紫色 
    46:深绿 
    47:白色 
    

    字体颜色

    30:黑 
    31:红 
    32:绿 
    33:黄 
    34:蓝色 
    35:紫色 
    36:深绿 
    37:白色 
    

    控制码

    这里常用有 设置高亮度/下划线/闪烁/关闭所有属性

    33[0m 关闭所有属性 
    33[01m 设置高亮度 
    33[04m 下划线 
    33[05m 闪烁 
    33[07m 反显 
    33[08m 消隐 
    33[30m -- 33[37m 设置前景色 
    33[40m -- 33[47m 设置背景色 
    33[nA 光标上移n行 
    33[nB 光标下移n行 
    33[nC 光标右移n行 
    33[nD 光标左移n行 
    33[y;xH设置光标位置 
    33[2J 清屏 
    33[K 清除从光标到行尾的内容 
    33[s 保存光标位置 
    33[u 恢复光标位置 
    33[?25l 隐藏光标 
    33[?25h 显示光标
    实际配置:
     
     echo -e "33[31m33[01m [   old tomcat kill failed  ]33[0m"     红色
     
     

    echo -e "33[32m[ kill old tomcat success with pid: $tomcat_pid ]33[0m"    绿色

     


    作者:全栈运维
    链接:https://www.jianshu.com/p/ba1b8aded634
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Solution: Win 10 和 Ubuntu 16.04 LTS双系统, Win 10 不能从grub启动
    在Ubuntu上如何往fcitx里添加输入法
    LaTeX 笔记---Q&A
    Hong Kong Regional Online Preliminary 2016 C. Classrooms
    Codeforces 711E ZS and The Birthday Paradox
    poj 2342 anniversary party
    poj 1088 滑雪
    poj 2479 maximum sum
    poj 2481 cows
    poj 2352 stars
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/8479979.html
Copyright © 2011-2022 走看看