1. 程式人生 > >一個簡單的shell指令碼--判斷網段主機IP存活情況

一個簡單的shell指令碼--判斷網段主機IP存活情況

在日常工作中,我們運維人員有時也需要配合網路工程師進行測試網路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

執行結果如下:
在這裡插入圖片描述