#!/bin/bash
a=(張三 李四 王五 趙六)
for i in {0..3}
do
if ping -c 1 192.168.1. $((${i}+1)) >dev/null 2>1;then
echo $((${i}+1))"號"${a[${i}]}"在線"
else
echo $((${i}+1))"號"${a[${i}]}"離線"
fi
done
這串shell代碼實現了ping 某個IP地址所對應的那個IP所使用的人名是否在線
這里面主要涉及到的知識點有 變量、數組、循環 、if判斷、算術運算
在這里循環和if我不多講!
主要是 變量、數組和算術運算的應用
首先我定義了一個數組變量分別是四個人的名稱,然后定義了一個循環體循環體從0到3,也就是在下面應用時會對應數組中的 a[0]..a[3] 四個人的名字。
然后開始if判斷,ping 192.168.1.0這個網段中所對應的序號1..4,分別對應不同的人 而由于在循環中的數是從0開始而ping網絡地址需要從1開始 所以 這里就運用到了shell中的算術運算"$(())" 在其中我將循環體中是數都+1 所以 這樣ping的時候其實就是ping 192.168.1.0+1 .. 192.168.1.3+1
下面的就簡單了 就是顯示 主機號 1..4 和 主機號所對于的人名。
以上所述是小編給大家介紹的使用shell腳本實現ping對應IP所對應的人名,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:- 防止ARP攻擊的shell代碼
- 一個shell寫的ping函數
- ping發現掉包報警的shell代碼
- shell腳本編寫ping包及arp的監控并發送短信功能