背景
在搭建好自动化测试环境后,为了维护的方面,一些环境中的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.com
www.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.com
www.sogo.com is yes. [确定]
[root@root]# sh check_url.sh www.soga.com
www.soga.com is no. [失败]