shell 判断某个url是否能够访问

urlstatus=$(curl -s -m 5 -IL $serverurl|grep 200)
if [ "$urlstatus" == "" ];then
	echo "urlstatus is OFF" 
fi

ping也可以判断,但是要判断返回值,比较麻烦。curl下载,然后判断内容也是比较麻烦,刚好curl提供了一个只判断response头信息的参数 -I
还有一个-L 是允许跳转的参数,有这两个足够了

even@ubuntu:~/test$ curl -IL www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Thu, 13 Dec 2018 08:52:47 GMT
Content-Type: text/html
Content-Length: 277
Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT
Connection: Keep-Alive
ETag: "575e1f60-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes

-s
静默模式,进度条和错误信息都不显示。
-m
max-time,本次请求的最长时间。

你可能感兴趣的:(shell)