shell基础 -- -- >> 实现网络的 ping 以检测 ip 是否被使用

使用学习过的知识完成网络的 ping

#!/bin/bash
cd /root/Desktop/test_txt
if [ ! -d "ping" ];then
	mkdir ping
else
	echo "文件夹已经存在"
fi
cd ping
touch ping_exist.txt
touch ping_nonentity.txt
for I in $(seq 1 253)
do	
	#  在官方 -c<完成次数>   设置完成要求回应的次数。
	#  ping -c 4 www.baidu.com  请去尝试一下就知道了
	#  /dev/null 代表空, 类似于一个黑洞,把输出的内容丢进去,就没有了。
	#  命令后面 & , 代表程序在后台运行
	#  > 是输出的定向符号。
	ping -c 1 192.168.188.$I &> /dev/null
	if [ $? -eq 0 ] #如果上一条语句正确执行了则  #? 的值就会为 0 ,即 ping 通了
	then
		# 将 ping 通的ip记录下来,输出重定向,以不覆盖的方式重定向到这个文件中
		echo "192.168.188.$I 存在." >> ping_exist.txt 
	else
		echo "192.168.188.$I 不存在." >> ping_nonentity.txt
	fi
done 

echo "执行完毕!"

运行的时候有点慢,所以如下:

[root@controller test_shell]# chmod 777 ping.sh
[root@controller test_shell]# ./ping.sh &

./文件名.sh & 中的&表示在后台运行此程序

[root@controller ping]# sed -n '$=' ping_exist.txt 

37

sed -n ‘$=’ 后跟文件名,输出文件中包含的行数

我测试的网段中有 37 个被使用的 ip

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值