批量ping网段内的主机

for 语法

shell:

for 变量名 [ in 取值列表]
do
循环体
done

1:批量ping网段内的主机

[root@lxy for]# cat pingfor.sh 
#!/bin/bash
##批量ping主机
for i in {1..254}
do
	{   #{}&,将大括号里面的内容放入后台去执行
	host=192.168.0.$i
	ping -c 1 $host  &> /dev/null
	if [ $? -eq 0 ]
	then
		echo "$(date +%Y-%m-%d,%H:%M:%S) $host is up" >> /tmp/ip.txt
	else
		echo "$(date +%Y-%m-%d,%H:%M:%S) $host is down" >> /tmp/noping.txt
	fi
	}&
done
wait ##  wait(参数)   使用 wait 是在等待上一批或上一个脚本执行完(即上一个的进程终止),再执行wait之后的命令。

	echo "检测完毕,请到/tmp/ip.txt | /tmp/noping.txt 下查看记录"

2:通过文件批量ping网段内的主机

[root@lxy for]# cat pingipfor.sh 
#!/bin/bash
for ip in `cat /root/ip.txt `
do
	ping -c1 -W1 $ip &>/dev/null
	if [ $? -eq 0 ]
	then
		echo "$ip is up"
	else
		echo "$ip is down"
	fi
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值