1. 程式人生 > >shell實現URL檢測

shell實現URL檢測

調用 main url檢測 OS fun 裏的 shell Go roo

背景

在搭建好自動化測試環境後,為了維護的方面,一些環境中的web頁面需要判斷任意指定的URL是否存在異常。

實現

#!/bin/sh
#首先定義幫助函數
function usage() {
    echo $"usage:$0 url"
    exit 1
}

#定義檢測URL的函數
function check_url(){
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    if [ $? -eq 0 ]
        then
            echo "*$1 is yes."
    else
            echo "$1 is no."
    fi
}

#定義main函數,作為程序的入口
function main(){
    if [ $# -ne 1 ]
        then
            usage
            fi
            check_url $1
}
main $*

執行結果如下

[root@root]# sh check_url.sh www.sogo.com
www.sogo.com is yes.

優化

腳本雖然實現出來了,但是一不夠優雅,二展示不好看,三維護不方便,所以實現了以下的優化:

#!/bin/sh
. /etc/init.d/funcitons    #<===在這裏引入了系統的函數庫
function usage(){
    echo $*usage:$0 url"
    exit 1
}
function check_url(){
    wget --spider -q -o /dev/null --tries=1 -T 5 $1
    if [ $? -eq 0 ]
        then
            #這裏的action就是在腳本開頭引入系統函數庫後調用的
            action "*$1 is yes." /bin/true
    else
            action "$1 is no." /bin/false
    fi}

function main(){
    if [ $# -ne 1 ]
        then
            usage
            fi
            check_url $1
}
main $*

執行的效果如下:

[root@root]# sh check_url.sh www.sogo.com
www.sogo.com is yes.           [確定]
[root@root]# sh check_url.sh www.soga.com
www.soga.com is no.                     [失敗]

shell實現URL檢測