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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章