开发检测URL脚本(详解)

大家好,今天给大家带来的是一些小实例,编写检测网站的脚本,在这里我用了两种思路来实现。

1.第一种实现的效果图如下:

开发检测URL脚本(详解)_第1张图片

 

2.第二种实现的效果图如下:

开发检测URL脚本(详解)_第2张图片

 

第一种实现的脚本如下:

#!/bin/bash
# DATE:2018-2-20
# URL:http://blog.csdn.net/qq_39591494
# Email:www.ywyankai.cn
# information:Website monitoring
# By.yankerp

. /etc/init.d/functions

function Connection(){
        wget --spider -q -o /dev/null --tries=1 -T 5 http://$1
if [ "$?" -eq 0 ]
   then
     action "http://$1 Monitoring success!" /bin/true
   else
     action "http://$1 Failure of monitoring!" /bin/false
fi
}

webaddress="
www.baidu.com
www.jd.com
www.taobao.com
www.123haha.com
www.090909.com
www.627ywndw.com
www.aiqiyi.com
www.nginx.org
www.apache.org
"

function main(){
for U in $webaddress
do
        Connection $U
done
}
main

剖析:

#!/bin/bash       #前面的注释这里不在做介绍了
# DATE:2018-2-20
# URL:http://blog.csdn.net/qq_39591494
# Email:www.ywyankai.cn
# information:Website monitoring
# By.yankerp

. /etc/init.d/functions      #这里是加载函数库,主要是为了后面的一些特效颜色

function Connection(){        #定义链接函数
        wget --spider -q -o /dev/null --tries=1 -T 5 http://$1 #在这里我们使用了wget 这里参数不在解释,在后面使用了$1特殊的位置变量 来判断用户输入的内容
if [ "$?" -eq 0 ]   #那么 如果以上wget 执行成功了
   then       #那么
     action "http://$1 Monitoring success!" /bin/true    #使用action来输出http://$1用户输入的网站,  输出成功
   else
     action "http://$1 Failure of monitoring!" /bin/false    #否则输出失败
fi
}

webaddress="    在这里我们定义变量,等于是网站地址池
www.baidu.com    #这里有百度等网址,相当于 webaddress是变量名 那么下面的网址就是变量的值 这些网址会赋值给变量名webaddress
www.jd.com
www.taobao.com
www.123haha.com
www.090909.com
www.627ywndw.com
www.aiqiyi.com
www.nginx.org
www.apache.org
"

function main(){    #定义总函数
for U in $webaddress    #这里使用for循环 U是变量名 那么$webaddress是变量名 它的值就是web网站 也就是说 把$webaddress赋值给U这个变量
do       #do
        Connection $U    #在这里调用函数Connection 这个函数的指令 大家可以看上面是wget操作 那么$U调用变量 这个变量的值就是网址
done    #最后结束for循环
}
main    #调用main总函数使整个脚本运行

运行如下:

[root@shell-yankerp shell]# sh URLA.sh 
http://www.baidu.com Monitoring success!                   [  确定  ]
http://www.jd.com Monitoring success!                      [  确定  ]
http://www.taobao.com Monitoring success!                  [  确定  ]
http://www.123haha.com Failure of monitoring!              [失败]
http://www.090909.com Failure of monitoring!               [失败]
http://www.627ywndw.com Failure of monitoring!             [失败]
http://www.aiqiyi.com Failure of monitoring!               [失败]
http://www.nginx.org Monitoring success!                   [  确定  ]
http://www.apache.org Monitoring success!                  [  确定  ]
[root@shell-yankerp shell]# 

 

第二种方式脚本内容如下:

#!/bin/bash
. /etc/init.d/functions
RED_COLOR='\E[1;31m'  #红
GREEN_COLOR='\E[1;32m' #绿
YELOW_COLOR='\E[1;33m' #黄
BLUE_COLOR='\E[1;34m'  #蓝
PINK='\E[1;35m'      #粉红
RES='\E[0m'
echo -en "${RED_COLOR}==========欢迎使用检测脚本输入网址即可==========\n${RES}"
function panduan(){
        echo -en "${YELOW_COLOR}请您输入你要检测的网站:${RES}"
                read NUM
        if [ -z $NUM ];then
           action "请您输入一个网址!!!" /bin/false
           exit 1
        fi
}

function URL_check(){
echo -en "${BLUE_COLOR}=================开始检测请稍等============================\n${RES}"
        wget --spider -q -o /dev/null --tries=1 -T 5 http://$NUM
                if [ "$?" -eq 0 ]
                   then
                     action "http://$NUM 检测成功" /bin/true
                   else
                     action "http://$NUM 检测失败" /bin/false
                fi
}

function main(){
while :
do
        panduan
        URL_check
done
}
main

 

剖析:

 

#!/bin/bash
. /etc/init.d/functions
RED_COLOR='\E[1;31m'  #红    #定义红色变量 以此类推这里不在介绍
GREEN_COLOR='\E[1;32m' #绿
YELOW_COLOR='\E[1;33m' #黄
BLUE_COLOR='\E[1;34m'  #蓝
PINK='\E[1;35m'      #粉红
RES='\E[0m'
echo -en "${RED_COLOR}==========欢迎使用检测脚本输入网址即可==========\n${RES}"    #使用红色字段输出欢迎使用此脚本
function panduan(){    #定义判断函数
        echo -en "${YELOW_COLOR}请您输入你要检测的网站:${RES}"    #使用黄色字段输入请您输入检测网站
                read NUM    #等待用户输入 并赋值给变量NUM
        if [ -z $NUM ];then    #判断$NUM 长度是否为0 
           action "请您输入一个网址!!!" /bin/false
           exit 1
        fi
}

function URL_check(){    #定义检测脚本
echo -en "${BLUE_COLOR}=================开始检测请稍等============================\n${RES}"    #使用蓝色输出开始检测
        wget --spider -q -o /dev/null --tries=1 -T 5 http://$NUM    #去链接下载
                if [ "$?" -eq 0 ]    #如果链接下载成功了
                   then    #那么
                     action "http://$NUM 检测成功" /bin/true   #输出检测成功,以此类推
                   else
                     action "http://$NUM 检测失败" /bin/false
                fi
}

function main(){    #定义总函数main
while :    #使用while循环 这里条件一直为真
do            
        panduan    #循环panduan函数
        URL_check    #以及链接函数
done    #done
}
main    #最后调用main总函数使整个脚本运行

运行如下:

[root@shell-yankerp shell]# sh URLB.sh 
==========欢迎使用检测脚本输入网址即可==========
请您输入你要检测的网站:
请您输入一个网址!!!                                        [失败]
[root@shell-yankerp shell]# sh URLB.sh 
==========欢迎使用检测脚本输入网址即可==========
请您输入你要检测的网站:www.baidu.com
=================开始检测请稍等============================
http://www.baidu.com 检测成功                              [  确定  ]
请您输入你要检测的网站:www.jd.com
=================开始检测请稍等============================
http://www.jd.com 检测成功                                 [  确定  ]
请您输入你要检测的网站:www.taobao.com
=================开始检测请稍等============================
http://www.taobao.com 检测成功                             [  确定  ]
请您输入你要检测的网站:www.csdn.net
=================开始检测请稍等============================
http://www.csdn.net 检测成功                               [  确定  ]
请您输入你要检测的网站:www.jdhjak.com
=================开始检测请稍等============================
http://www.jdhjak.com 检测失败                             [失败]
请您输入你要检测的网站:www.ahas.com
=================开始检测请稍等============================
http://www.ahas.com 检测失败                               [失败]
请您输入你要检测的网站:www.ywyankai.cn
=================开始检测请稍等============================
http://www.ywyankai.cn 检测失败                            [失败]
请您输入你要检测的网站:

 

以上脚本非专业脚本,主要介绍过程及实现的方法!!!

希望对您有所帮助,再见!

 

 

 

 

你可能感兴趣的:(Shell,Linux,Shell从入门到实践)