Shell编程案例:修改运维脚本输出效果

1、 需求:每日运维检查脚本dailymonitor.sh显示对服务器测试结果,其中命令

zabbix_get -s 192.168.111.21 -p 10050 -k "net.tcp.listen[3306]直接反馈值为0(异常)和1(正常),显示感觉不直观,考虑使用shell脚本修改显示效果,如显示为:The Server 192.168.111.21 is ok!

 

2、 脚本内容:

#! /bin/sh

/usr/sbin/clock

Server21=`zabbix_get -s 192.168.109.21 -p 10050 -k "net.tcp.listen[3306]"`

Server20=`zabbix_get -s 192.168.109.20 -p 10050 -k "net.tcp.listen[80]"`

Server25=`zabbix_get -s 192.168.109.25 -p 10050 -k "net.tcp.listen[89]"`

function okbad {

if ( test $1 = 1 ) then               

#也可表达为if [ $1 -eq 1];then,注意:“=”号用作赋值时,两端不能有空格;“=”用作判断时,两端必须有空格。

       echo ${@:2} is ok !     #注意:因为第二个参数在表达式中有空格,必须以${@:2}的方式进行表达,否则,只能取到表达式的第一个空格前的字符。

    else

       echo ${@:2} is bad !

    fi

}

Server21_name="The Server 192.168.111.21 "

Server20_name="The Server 192.168.111.20 "

Server25_name="The Server 192.168.111.25 "

 

okbad $Server21 ${Server21_name}

okbad $Server20 ${Server20_name}

okbad $Server25 ${Server25_name}

 

3、 运行效果:

[root@localhost ~]# sh test.sh

2019年01月25日 星期五 19时54分09秒  -0.892307 秒

The Server 192.168.111.21 is ok !

The Server 192.168.111.20 is ok !

The Server 192.168.111.25 is ok !

posted @ 2019-07-25 20:44  sfccl  阅读(204)  评论(0编辑  收藏  举报