一個簡單的shell指令碼--判斷網段主機IP存活情況
阿新 • • 發佈:2018-12-16
在日常工作中,我們運維人員有時也需要配合網路工程師進行測試網路IP的使用情況,此指令碼用於測試使用。
#!/bin/bash # #by skyfans #seq命令用於產生從某個數到另外一個數之間的所有整數。 #分解這個組合:“>/dev/null 2>&1” 為五部分。 #1:> 代表重定向到哪裡,例如:echo "123" > /home/123.txt #2:/dev/null 代表空裝置檔案 #3:2> 表示stderr標準錯誤 #4:& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1 #5:1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於 "1>/dev/null" # #1>/dev/null :首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端, 說白了就是不顯示任何資訊。 #2>&1 :接著,標準錯誤輸出重定向 到 標準輸出,因為之前標準輸出已經重定向到了空>裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。 # for ip in `seq 1 255` do { ping -c 1 172.17.99.$ip >/dev/null 2>&1 if [ $? -eq 0 ];then echo 172.17.99.$ip UP else echo 172.17.99.$ip DOWN fi }& done wait
測試指令碼執行情況
sh vi ipmom.sh
執行結果如下: