shell编程实例-开发检测URL脚本(详解)

前端之家收集整理的这篇文章主要介绍了shell编程实例-开发检测URL脚本(详解)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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



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


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

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

猜你在找的Bash相关文章