shell脚本批量执行ping和telnet测试网络方式

 更新时间:2024年12月11日 14:18:22   作者:kevin_mails  
文章介绍了如何通过创建shell脚本来简化本地网络测试任务,包括ping和telnet测试,文章详细描述了脚本的创建、编辑、赋予执行权限以及执行的步骤,并提供了具体的脚本示例

shell脚本批量执行ping和telnet测试网络

当我们在本地经常需要执行一组ping网络测试时,就可以通过shell脚本帮我们完成

先创建脚本文件

例:

touch net_ping.sh

通过vi 打开文件

vi net_ping.sh

在文件中添加代码

######################
# Autor: kevin
# 网络连通性测试
#
######################
#!/bin/sh

RED_COLOR='\033[31;47m'
RED_GREEN='\033[32;47m'
RES='\033[0m'

ping_list=(
    baidu.com
    bing.com
    google.com
    qq.com
)

#执行单个连接的网络测试
#注意,shell函数不用声明,一定要定义在调用函数代码的上方,不然会报 command not found
ping_conn(){
    echo "开始ping $1"

    # ping -c 是执行次数,-W 是尝试连接等待的时间
    ping -c 3 -W 5 $1
    if [ $? -eq 0 ]; then
        echo "${RED_GREEN} INFO ${RES} ping $1 success!"
    else 
        echo "${RED_COLOR} ERROR ${RES} ping $1 fail!"
    fi  

}


for ip in ${ping_list[@]}; do
    # echo $ip
    ping_conn $ip
done

保存退出后,给一下可执行权限

chmod u+x net_ping.sh

然后就可以执行啦!

测试结果

如下:

赶快动手试试吧!

再补充一个进行telnet测试的脚本

######################
# Autor: kevin
# 网络连通性测试,telnet测试
#
######################
#!/bin/sh

RED_COLOR='\033[31;47m'
RED_GREEN='\033[32;47m'
RES='\033[0m'

telnet_list=(
    "baidu.com 80" 
    "qq.com 801"
)

#执行单个连接的网络测试
#注意,shell函数不用声明,一定要定义在调用函数代码的上方,不然会报 command not found
telnet_conn(){
    echo "start telnet test $1"
   
    if [ ["$OSTYPE"=~"darwin"] ]; then
        time_out=-G
    elif [ ["$OSTYPE"=~"Linux"] ]; then
        time_out=-w
    else 
        echo "Other os"
    fi

    # nc -G 是mac os 下的超时,linux 下是 -w
    nc -zv $time_out 2 $1 

    if [ $? -eq 0 ]; then
        echo "${RED_GREEN} INFO ${RES} telnet $1 success!"
    else 
        echo "${RED_COLOR} ERROR ${RES} telnet $1 fail!"
    fi  

}


for ip in "${telnet_list[@]}"; do
    #echo $ip
    telnet_conn "$ip"
done

同ping脚本一下,也可以创建一个文件,把脚本复制过去,给一下执行权限,即可执行

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文详解Linux系统中的文件描述符与进程数限制

    一文详解Linux系统中的文件描述符与进程数限制

    Linux 系统中,文件描述符和进程数是两个非常重要的系统资源,它们直接影响系统的性能和稳定性,尤其是在高负载的服务器环境中,本文将深入探讨如何查看和调整 Linux 系统中的文件描述符和进程数限制,帮助系统管理员和开发者更好地优化系统配置
    2025-02-02
  • Linux中awk的使用方法详解

    Linux中awk的使用方法详解

    AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。需要的朋友可以参考下
    2019-08-08
  • Ubuntu环境编译安装PHP和Nginx的方法

    Ubuntu环境编译安装PHP和Nginx的方法

    这篇文章主要介绍了Ubuntu环境编译安装PHP和Nginx的方法,较为详细的分析了Ubuntu环境编译安装PHP和Nginx的具体步骤、相关命令与操作技巧,需要的朋友可以参考下
    2019-08-08
  • linux系统AutoFs自动挂载服务安装配置

    linux系统AutoFs自动挂载服务安装配置

    大家好,本篇文章主要讲的是linux系统AutoFs自动挂载服务安装配置,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • inotify-tools+rsync实时同步文件的配置方法

    inotify-tools+rsync实时同步文件的配置方法

    我使用的是google的inotify-tools,比较简单.国内有功能很强大的类似的程序,但是好复杂.
    2013-02-02
  • Linux关于透明大页的使用与禁用介绍

    Linux关于透明大页的使用与禁用介绍

    今天小编就为大家分享一篇关于Linux关于透明大页的使用与禁用介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux traceroute命令使用详解

    Linux traceroute命令使用详解

    这篇文章主要介绍了Linux traceroute命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux常见问题解决方案汇总

    Linux常见问题解决方案汇总

    今天小编就为大家分享一篇关于Linux常见问题解决方案汇总,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Linux下使用SSH远程执行命令方法收集

    Linux下使用SSH远程执行命令方法收集

    这篇文章主要介绍了Linux下使用SSH远程执行命令方法收集,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Ubuntu Apache配置以及cgi配置方法

    Ubuntu Apache配置以及cgi配置方法

    这篇文章主要介绍了Ubuntu Apache配置以及cgi配置方法,需要的朋友可以参考下
    2015-10-10

最新评论