在編寫shell腳本時,有的功能須要確保服務器網絡是能夠上網才能夠往下執行,那麼此時就須要有個函數來判斷服務器網絡狀態shell
咱們能夠經過curl
來訪問 www.baidu.com,從而判斷服務器網絡狀態是否能夠暢通的bash
#!/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
網絡狀態正常的腳本執行結果:網絡暢通,你能夠上網衝浪!
服務器
網絡狀態不正常的腳本執行結果:網絡不順暢通,請檢查網絡設置!
網絡