zoukankan      html  css  js  c++  java
  • echo 在shell及脚本中显示色彩及闪烁警告效果

    在shell脚本编写中,echo用于输出字符串等提示信息,当我们需要格外显示色彩及闪烁效果如下:

    一、在执行shell中显示色彩:

    语法格式:

    echo -e "33[颜色1:颜色2m 要展示的文字 33[0m"

    说明:

    • -e选项:表示允许反斜杠(对字符)转义。
    • 33[颜色1;颜色2m:称为转义序列,它本身是一个整体,中间不要有空格。
    • 33[:转义序列的开始。其中33代表Esc符号,也可以使用E或e来代替。
    • 颜色1和颜色2:表示字体的前景色或背景色,至于颜色1和颜色2哪一个表示前景色,哪一个表示背景色,由其设定的数值来决定,前景色和背景色的数值空间是不同的。
    • m:转义序列的终止标志。
    • 33[0m:表示将颜色恢复回原来的配色。

     我们可以用一张原理图来理解:

    所涉及的颜色如下:

    二、在shell脚本中显示色彩

    ①定义颜色变量

     1 [root@bqh-117 scripts]# vim echoys.sh 
     2 #!/bin/sh
     3 #定义颜色变量
     4 RED='E[1;31m'      # 红
     5 GREEN='E[1;32m'    # 绿
     6 YELOW='E[1;33m'    # 黄
     7 BLUE='E[1;34m'     # 蓝
     8 PINK='E[1;35m'     # 粉红
     9 RES='E[0m'         # 清除颜色
    10 
    11 #用echo -e来调用
    12 echo -e "${RED} this is red color ${RES}"
    13 echo -e "${GREEN} this is green color ${RES}"
    14 echo -e "${YELOW} this is red yelow ${RES}"
    15 echo -e "${BLUE} this is blue color ${RES}"
    16 echo -e "${PINK} this is pink color ${RES}"

    ②定义颜色动作

     1 [root@bqh-117 scripts]# vim echoys1.sh 
     2 #!/bin/sh
     3 #定义颜色动作, 把echo -en也定义到变量中
     4 SETCOLOR_SUCCESS="echo -en \E[1;32m"
     5 SETCOLOR_FAILURE="echo -en \E[1;31m"
     6 SETCOLOR_WARNING="echo -en \E[1;33m"
     7 SETCOLOR_NORMAL="echo  -en \E[0;39m"
     8  
     9 #使用时直接调用颜色动作即可
    10 $SETCOLOR_SUCCESS && echo SUCCESS   
    11 $SETCOLOR_FAILURE && echo FAILURE   
    12 $SETCOLOR_WARNING && echo WARNING   
    13 $SETCOLOR_NORMAL  && echo NORMAL

    说明:

    第二种方法和第一种方法的思路类似,唯一不同的是我们把 echo 也加入到了定义中。这样用时不用频繁输入 echo 了,不过,需要注意其中的一些细节:

    1)需要增加-n选项,这样引用时不会出现换行的问题。

    2)\本质是,在双引号中反斜线符号一定要写成\

    3)引用变量要放到其他语句前面,并使用&&连接。

    三、在shell中显示颜色并提示闪烁警示:

     1 [root@bqh-117 scripts]# vim echoys.sh 
     2 #!/bin/sh
     3 #定义颜色变量
     4 RED='E[1;31m'        # 红
     5 GREEN='E[1;32m'    # 绿
     6 YELOW='E[1;33m'    # 黄
     7 BLUE='E[1;34m'       # 蓝
     8 PINK='E[1;35m'       # 粉红
     9 SHAN='E[33;5m'      #黄色闪烁警示
    10 RES='E[0m'              # 清除颜色
    11 
    12 #用echo -e来调用
    13 echo -e "${SHAN} this is yelow flashing warning ${RES}"  #黄色闪烁警示调用效果
    14 echo -e "${GREEN} this is green color ${RES}"
    15 echo -e "${YELOW} this is red yelow ${RES}"
    16 echo -e "${BLUE} this is blue color ${RES}"
    17 echo -e "${PINK} this is pink color ${RES}"

      ok ,以上用法相信在今后的shell中会带来很多色彩,让用户有一个更高的视觉效果。

  • 相关阅读:
    C语言面向对象编程(五):单链表实现(转)
    pthread_barrier_init,pthread_barrier_wait简介(转)
    Linux信号(signal) 机制分析(转)
    Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)
    Linux 多线程环境下 进程线程终止函数小结(转)
    批量杀进程 ps awk grep
    C++中的INL(转)
    gdb调试多进程和多线程命令(转)
    转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端
    转:全栈工程师的知识栈列表
  • 原文地址:https://www.cnblogs.com/su-root/p/10743544.html
Copyright © 2011-2022 走看看