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文件对于不懂编程的人来说可能会很难(虽然支持各语言) 由于考虑到很多人不会编程或会编程又急用无法短时间转 ...
随机推荐
- [译]what is bootstrap
Question:Bootstrap的定义?有什么用?如何助力前端开发? Answers: 它是一个在用HTML,CSS和javascript创建网站和网页应用的时候可以用到的基础内容. More ...
- echart
先介绍echart: 官网: http://echarts.baidu.com 看名字就知道是百度出品的. ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC ...
- IdentityServer Topics(1)- 启动说明
启动 IdentityServer的启动是中间件和服务的组合来实现的. 所有配置都在你的启动类(Startup.cs)中完成. 配置服务 通过以下方式调用将IdentityServer服务添加到DI系 ...
- javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
前言 今天一个朋友让我帮他做一下tomcat的https配置,中间遇到了标题中这个错误,因此记录了一下过程,服务器.域名.证书.tomcat都已经准备好,就是需要配置一下即可,用的是阿里云的证书服务, ...
- Centos搭建Docker环境
安装Docker 安装Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: yum install d ...
- React Native学习(三)—— 使用导航器Navigation跳转页面
本文基于React Native 0.52 参考文档https://reactnavigation.org/docs/navigators/navigation-prop 一.基础 1.三种类型 Ta ...
- Angular整合zTree
1 前提准备 1.1 新建一个angular4项目 参考博文:点击前往 1.2 去zTree官网下载zTree zTree官网:点击前往 三少使用的版本:点击前往 2 编程步骤 从打印出zTree对象 ...
- 开发高性能JAVA应用程序基础(内存篇)
虽然Java的垃圾回收和当前高配置的服务器可以让程序员大部分时间忘掉OutOfMemoryError的存在,但是访问量增大后频繁的GC会额外消耗CPU (使用top查看结果为us值高),系统响应速度下 ...
- Java泛型集合
所谓泛型就是允许在定义类.接口时指定类型形参,这个类型形参将在声明变量.创建对象时确定.增加了泛型支持后的集合,完全可以记住集合 中元素的类型,并可以在编译时检查集合中元素的类型.即解决一些安全问题, ...
- MongoDB建立主从复制小案例(一主一从)
花了两天学习了mongoDB, 今天接触到了mongo的主从配置, 把它记下来 1. 开启两个mongo服务器(用于一主一从, 没有加安全验证相关参数 : 可以使用mongd-help查看) mong ...