需求1:检测url是否可以访问
需求2:检测url的格式是否正确,以数字和字母组成,并且必须是连续的,结尾以.com .cn .edu.org结尾
#!/bin/bash
. /etc/init.d/functions
check_url1 () {
url=$1
wget -q --spider -t3 -T1 $url
if [ $? -eq 0 ]
then
action "url is ok" /bin/true
else
action "url is fail" /bin/false
fi
}
check_url2 () {
url=$1
if [[ ! $url =~ [a-z0-9]+\.(com|cn|org|edu|)$ ]]
then
action "url format is fail " /bin/false
exit 1
fi
}
main () {
check_url1 $1
check_url2 $1
}
main $1
脚本解释
测试
脚本涉及的相关知识点
知识点1:wget
相关参数说明
--spider 模拟爬虫的行为去访问网站,但不会下载网页
-q, --quiet 安静的访问,禁止输出,类似-o /dev/null功能,
-o, --output-file=FILE 记录输出到文件
-T, --timeout=SECONDS 访问网站的超时时间
-t, --tries=NUMBER 当网站异常时重试网站的次数
wget --spider -T 5 -t 2 www.baidu.com
这条命令的意思超时5秒证明服务器无响应,重新连接2次
这里是200ok表示正常
如果加上-q参数就相当于 &< /dev/null,什么都不显示了
wget -q --spider -T 5 -t 2 www.baidu.com
echo $?
若返回值为0代表正常,非0证明网站无响应
知识点2、正确与错误的颜色提示
. /etc/init.d/functions //先加载系统函数,这个是颜色文件
acion "url is ok" /bin/true
action "url is failed" /bin/false
红色是固定格式