成功最有效的方法就是向有经验的人学习!

shell编程实例-开发检测URL脚本

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

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

shell编程实例-开发检测URL脚本

shell编程实例-开发检测URL脚本


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

shell编程实例-开发检测URL脚本

shell编程实例-开发检测URL脚本


第一种实现的脚本如下:

#!/bin/bash
# DATE:2018-2-20
# information:Website monitoring
# By.xxxx

. /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
# information:Website monitoring
# By.xxx

. /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 检测失败                            [失败]
请您输入你要检测的网站:

 

赞(0) 打赏
未经允许不得转载:陈桂林博客 » shell编程实例-开发检测URL脚本
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册