Linux shell指令碼判斷網路暢通
阿新 • • 發佈:2019-12-31
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
複製程式碼
網路狀態正常的指令碼執行結果:
網路暢通,你可以上網衝浪!
網路狀態不正常的指令碼執行結果:
網路不暢通,請檢查網路設定!