Linux批量ping脚本
根据鸟哥的ping脚本,我重新修改了一下。用到的知识有:read、Linux按行读取、shell输出效果调整等
其中Linux按行读取文件比较重要,可参看文下链接
1 脚本功能:
批量ping当前路径下文件里面的ip地址,ip地址必须一行行填写,
1只需要输入存放ip地址的文件名,
2 然后选择执行速度。
3 ping的结果就会放在当前路径下的PingResult.csv文件里
2 注意:
请根据提示运行脚本,确保脚本有执行权限,不能在window上运行
#!/bin/bash # Program # Use ping command to check the network's PC state. # History # // 学鸟哥 #环境变量 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH FILEPATH=`pwd` FILENAME=MLGB METHOD= #使用ping确认网络是否通 function FUN_PING { - ${IPADDRESS} &> /dev/ ||result= # 开始显示结果是正确的显示 (UP),没有连通 (DOWN) ]; then echo "${IPADDRESS}, is UP." |tee -a ${FILEPATH}/PingResult.csv else echo "${IPADDRESS}, is DOWN."|tee -a ${FILEPATH}/PingResult.csv fi } #循环读取文件2慢速法 function while_read_LINE_bottm(){ if [ -f ${FILEPATH}/${FILENAME} ];then >${FILEPATH}/PingResult.csv while read IPADDRESS do FUN_PING done < ${FILEPATH}/${FILENAME} echo -e "\033[31;1m 执行完成,结果在${FILEPATH}/PingResult.csv里 \033[0m" else echo -e "\033[41;37;5m 找不到文件${FILEPATH}/${FILENAME} \033[0m" fi } #循环读取文件1快速法 function for_in_file(){ if [ -f ${FILEPATH}/${FILENAME} ];then >${FILEPATH}/PingResult.csv for IPADDRESS in `cat ${FILEPATH}/${FILENAME}` do FUN_PING done echo -e "\033[31;1m 执行完成,结果在${FILEPATH}/PingResult.csv里 \033[0m" else echo -e "\033[41;37;5m 找不到文件${FILEPATH}/${FILENAME} \033[0m" fi } case "$1" in help|--help|?) echo "Usage: 这个脚本用来ping文件中的ip的,请确保文件存在,且ip是一行一行的 有两种运行方法: ./脚本名 执行完成后,ping的结果存放在当前路径下的PingResult.csv文件中。 " exit esac #输入参数和基本验证 #清理屏幕 echo -e "\033[2J \033[31;1m " #调整显示样式 #echo -e "\033[31;1m" echo "请确保IPADDRESS的文件和脚本在同一路径" read -t -p "请输入IPADDRESS的文件名: " FILENAME read -t -p "请选择执行速度,1 快;2 慢:,默认为1: " METHOD #恢复默认显示样式 echo -e "\033[0m" #主函数 case "$METHOD" in ) time for_in_file ;; ) time while_read_LINE_bottm ;; *) echo -e "\033[41;37;5m 你丫的填错数字了,老子按照最慢的给你执行 \033[0m" time while_read_LINE_bottm esac
点击查看代码
另外自己记录:Linux函数使用return命令时,return code的值不能超过255,一旦超过,则继续从〇开始计算
参考:
Linux批量ping脚本的更多相关文章
- Linux批量解压缩脚本
#!/bin/bash # 批量解压缩脚本 # 作者: shaohsiung # 时间: // # Store all file names in the tmp directory with the ...
- python 批量ping脚本不能用os.system
os.system(cmd)通过执行命令会得到返回值. ping通的情况下返回值为0. ping不通的情况: 1.请求超时,返回值1 2.无法访问目标主机,返回值为 0,和ping通返回值相同 所 ...
- 批量ping 检测linux主机是否可以通
批量ping 检测linux主机是否可以通 # 1.配置列表 [root@db137 liweiwie]# cat /home/dbatlbb/script/liweiwie/ping_ip.txt ...
- Shell学习笔记之shell脚本和python脚本实现批量ping IP测试
0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...
- 批量IP自动ping脚本
批量IP自动ping脚本ping.sh 在同一目录新建一个名为pingip的文件,并以每行一个IP的方式罗列.使用sh命令执行ping.sh #!/bin/bash IP_LIST=`cat ping ...
- shell脚本和python脚本实现批量ping IP测试
先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 ...
- shell 编写脚本批量Ping IP
服务器总是一下子买了很多的段的ip.通过绑定后,也不知道这些ip是否绑定成功,所以就写了一个shell脚本,把ip输好,批量ping一下,看是不是都能ping通. 脚本如下: 此外.还有一个ip文件, ...
- 批量Ping执行Bash脚本
#!/bin/bash # Ping Batch Script # 连接超时时间 TMOUT= # 最大线程数 MAX_THREAD= # 保留内存大小 MIN_MEM= # 默认ip配置,可通过 - ...
- [教程]K8Cscan调用外部程序(Win/Linux批量上控/执行多条命令/保存结果)
0x000 调用原理 Cscan调用外部程序有两种方式,一是编写DLL,二是配置文件 编写DLL文件对于不懂编程的人来说可能会很难(虽然支持各语言) 由于考虑到很多人不会编程或会编程又急用无法短时间转 ...
随机推荐
- MySQL数据库操作
一创建数据库 1 语法(help create database) CREATE DATABASE 数据库名 charset utf8; 2 数据库命名规则: 可以由字母.数字.下划线.@.#.$ 区 ...
- 【三分法】hdu2438 Turn the corner
Problem Description Mr. West bought a new car! So he is travelling around the city.One day he comes ...
- web服务器,应用程序服务器,http服务器的区别
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器? 这个概念很重要. Web服务器的基本功能就是提供We ...
- [转载]mysql中实现行号,oracle中的rowid
mysql中实现行号需要用到MYSQL的变量,因为MySql木有rownumber. MYSQL中变量定义可以用 set @var=0 或 set @var:=0 可以用=或:=都可以,但是如果变量用 ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- mongodb 的进库操作
mongo show dbs use xxx show collections db.xxx.find() db.users.update({ "xxx" : ObjectId( ...
- IO流与IO缓冲
1.字节与字符的演变 public class inputStream { public static void test1() throws Exception{ File file= new Fi ...
- 【java开发系列】—— 集合使用方法
一.首先看一下集合的框架图: 由于collection也继承了Iterator和comparable接口,因此我们可以使用Iterator来遍历元素,也可以通过自定义compareTo函数来重新编写自 ...
- ajaxfileupload插件,C#返回Json数据报错
报错信息一:jQuery.handleError is not a function 上传图片的时候,通过F12,查看到这个错误. 解决方案: jquery版本问题,handlerError只在jqu ...
- AFO
留坑 有点绝望 状态什么的,存在么 upd at 2017/11/14还算完满地结束了OI之路了吧.