#!/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 和 主機號所對於的人名。
http://xxxxxx/Linuxjc/1175964.html TechArticle