微信公眾號:「小林coding」
用簡潔的方式,分享編程小知識。
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
網絡狀態正常的腳本執行結果:
網絡暢通,你可以上網沖浪!
網絡狀態不正常的腳本執行結果:
網絡不暢通,請檢查網絡設置!