背景
在搭建好自动化测试环境后,为了维护的方面,一些环境中的web页面需要判断任意指定的URL是否存在异常。
实现
#!/bin/sh#首先定义帮助函数function usage() { ???echo $"usage:$0 url" ???exit 1}#定义检测URL的函数function check_url(){ ???wget --spider -q -o /dev/null --tries=1 -T 5 $1 ???if [ $? -eq 0 ] ???????then ???????????echo "*$1 is yes." ???else ???????????echo "$1 is no." ???fi}#定义main函数,作为程序的入口function main(){ ???if [ $# -ne 1 ] ???????then ???????????usage ???????????fi ???????????check_url $1}main $*
执行结果如下
[root@root]# sh check_url.sh www.sogo.comwww.sogo.com is yes.
优化
脚本虽然实现出来了,但是一不够优雅,二展示不好看,三维护不方便,所以实现了以下的优化:
#!/bin/sh. /etc/init.d/funcitons ???#<===在这里引入了系统的函数库function usage(){ ???echo $*usage:$0 url" ???exit 1}function check_url(){ ???wget --spider -q -o /dev/null --tries=1 -T 5 $1 ???if [ $? -eq 0 ] ???????then ???????????#这里的action就是在脚本开头引入系统函数库后调用的 ???????????action "*$1 is yes." /bin/true ???else ???????????action "$1 is no." /bin/false ???fi}function main(){ ???if [ $# -ne 1 ] ???????then ???????????usage ???????????fi ???????????check_url $1}main $*
执行的效果如下:
[root@root]# sh check_url.sh www.sogo.comwww.sogo.com is yes. ??????????[确定][root@root]# sh check_url.sh www.soga.comwww.soga.com is no. ????????????????????[失败]