Linux shell脚本判断网络畅通
介绍
在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态
我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的网络状态判断
#!/bin/bash
#检测网络链接畅通
function network()
{
#超时时间
local timeout=1
#目标网站
local target=www.baidu.com
#获取响应状态码
local ret_code=`curl -I -s --connect-timeout ${timeout} ${target} -w %{http_code} | tail -n1`
if [ "x$ret_code" = "x200" ]; then
#网络畅通
return 1
else
#网络不畅通
return 0
fi
return 0
}
network
if [ $? -eq 0 ];then
echo "网络不畅通,请检查网络设置!"
exit -1
fi
echo "网络畅通,你可以上网冲浪!"
exit 0
网络状态正常的脚本执行结果:
网络畅通,你可以上网冲浪!
网络状态不正常的脚本执行结果:
网络不畅通,请检查网络设置!