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脚本一下,也可以创建一个文件,把脚本复制过去,给一下执行权限,即可执行

总结

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

相关文章

  • SELINUX工作原理详解

    SELINUX工作原理详解

    这篇文章主要介绍了SELINUX工作原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 最新Linux下安装tomcat8图解过程

    最新Linux下安装tomcat8图解过程

    这篇文章主要介绍了最新的Linux下安装tomcat8图解过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • CentOS7如何执行PHP定时任务详解

    CentOS7如何执行PHP定时任务详解

    这篇文章主要给大家介绍了关于在CentOS7中如何执行PHP定时任务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • 解决ubuntu安装软件时,status-code=409报错的问题

    解决ubuntu安装软件时,status-code=409报错的问题

    这篇文章主要介绍了解决ubuntu安装软件时,status-code=409报错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Linux进程的优先级&&进程切换方式

    Linux进程的优先级&&进程切换方式

    本文概述进程优先级与调度算法,涵盖优先级调整方法(nice、renice命令)及Linux 2.6 O(1)调度器,通过运行队列、task_struct结构和位图优化进程调度效率
    2025-07-07
  • centos查找已安装的jdk路径的方法

    centos查找已安装的jdk路径的方法

    本篇文章主要介绍了centos查找已安装的jdk路径的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Linux用户建立脚本/猜字游戏/网卡流量监控介绍

    Linux用户建立脚本/猜字游戏/网卡流量监控介绍

    大家好,本篇文章主要讲的是Linux用户建立脚本/猜字游戏/网卡流量监控介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2021-12-12
  • 虚拟机ubuntu16.04无法连网的解决方法

    虚拟机ubuntu16.04无法连网的解决方法

    这篇文章主要为大家详细介绍了虚拟机ubuntu16.04无法连网的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 详解Linux上svn命令行批量操作

    详解Linux上svn命令行批量操作

    这篇文章主要介绍了详解Linux上svn命令行批量操作的相关资料,linux上的svn命令行批量添加或删除文件,需要的朋友可以参考下
    2017-07-07
  • Linux提权技巧全面汇总

    Linux提权技巧全面汇总

    在Linux系统中,提权是指获取更高的权限,这通常通过使用特定的命令或工具来完成,在这篇文章中,我们将探讨一些常见的Linux提升权限的技巧:常用提权命令,反弹shell,获取完整交互式SHELL,Linux内核漏洞提权,脏牛提权,metasploit linux提权,SUID提权,passwd提权,ssh密钥提权
    2024-05-05

最新评论