展会信息港展会大全

shell 输出带颜色文本函数
来源:互联网   发布日期:2015-08-20 21:04:02   浏览:1617次  

导读: 一些监控脚本,或者重启服务的脚本。会用红色或绿色来输出 成功 失败。 下面就用一个函数来封装该功能。 函数功能:接收字符串参数,将接收到的参数[]中的OK变为红色,FAILD变为绿色。如下图: 成功: 失败: 闲话少说:直接上代码 #!/bin/bashaction(){MSG=...

一些监控脚本,或者重启服务的脚本。会用红色或绿色来输出 成功 失败。

下面就用一个函数来封装该功能。

函数功能:接收字符串参数,将接收到的参数[]中的OK变为红色,FAILD变为绿色。如下图:

成功:

失败:

闲话少说:直接上代码

#!/bin/bash

action(){

MSG=$$1

COLOER=`echo $$1|sed 's#^.*\[\(.*\)\].*#\1#g'`

BASE=`echo $$1|sed 's#\(^.*\)\[.*]#\1#g'`

if[ "OK"!= "$$COLOER"];then

echo -e "$${BASE} [\e[0;31;1m $$COLOER \e[0m]"

else

echo -e "$${BASE} [\e[1;32m $$COLOER \e[0m]"

fi

}

STAT=`curl -I -s 1www.baidu.com|grep HTTP|awk '{print $$2}'`

[ -z $$STAT ]&&STAT=500

if[ "200"-eq "$$STAT"];then

action "THE WEB STATUS IS ............ [OK]"

exit 0

else

action "THE WEB STATUS IS ............ [FAILD]"

exit 1

fi可以优化上面的action函数,将颜色信息编码,作为参数传入。更方便的调用。

比如 action "blue" "THE WEB STATUS IS [OK]"。目前尚未该需求,就不写了。

好吧,闲着也是闲着,就优化了一下action函数。

只编码了绿色和红色两种颜色。 action "green" "THE WEB STATUS IS [OK]",这种方式调用。

上代码:

action(){

REG_RED="\e[0;31;1m"

REG_GREEN="\e[1;32m"

RES="\e[0m"

COLOER=""

case"$$1"in

red|RED)

COLOER=$$REG_RED

;;

green|GREEN)

COLOER=$$REG_GREEN

;;

esac

COLOERTEXT=`echo $$2|sed 's#^.*\[\(.*\)\].*#\1#g'`

BASE=`echo $$2|sed 's#\(^.*\)\[.*]#\1#g'`

if[ "OK"!= "$$COLOERTEXT"];then

echo -e "$${BASE} [$${COLOER} $$COLOERTEXT $${RES}]"

else

echo -e "$${BASE} [$${COLOER} $$COLOERTEXT $${RES}]"

fi

}下面是颜色的编码信息列表!

1,输出红色字体 abc,背景色不变,以下三个效果一样echo -e '\033[0;31;1m abc \033[0m'echo -e "\e[1;31m abc \e[0m"echo -e "\e[0;31;1m abc \e[0m"2,输出黄色字体 abc,红色背景色,以下三个效果一样echo -e '\033[41;33;1m abc \033[0m'echo -e "\e[41;33m abc \e[0m"echo -e "\e[41;33;1m abc \e[0m"30 黑 31 红, 32 绿, 33 黄, 34 蓝, 35 紫, 36 青绿, 37 白(灰)echo -e "\e[1;30m skyapp exist \e[0m" //黑色echo -e "\e[1;31m skyapp exist \e[0m" //红色echo -e "\e[1;32m skyapp exist \e[0m" //绿色echo -e "\e[1;33m skyapp exist \e[0m" //黄色echo -e "\e[1;34m skyapp exist \e[0m" //蓝色echo -e "\e[1;35m skyapp exist \e[0m" //紫色echo -e "\e[1;36m skyapp exist \e[0m" //青绿echo -e "\e[1;37m skyapp exist \e[0m" //白(灰)

本文出自 “gccmx163.com” 博客,请务必保留此出处http://489381.blog.51cto.com/479381/1331709

赞助本站

人工智能实验室

相关热词: shell 输出 颜色 文本 函数

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港