Linux shell腳本判斷服務器網絡是否可以上網


微信公眾號:「小林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

網絡狀態正常的腳本執行結果:
網絡暢通,你可以上網沖浪!

網絡狀態不正常的腳本執行結果:
網絡不暢通,請檢查網絡設置!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM