網(wǎng)站開(kāi)發(fā)功能需求表下載班級(jí)優(yōu)化大師并安裝
題目要求:寫(xiě)一個(gè)shell腳本,探測(cè)局域網(wǎng)內(nèi)存活主機(jī)
首先,我們的思路是在循環(huán)中不斷ping主機(jī),然后根據(jù)ping的結(jié)果來(lái)判斷主機(jī)是否存活
本題中ping語(yǔ)句如下:
ping -c 3 -i 0.3 -W 1 192.168.1.1
解釋一下參數(shù):-c 3代表發(fā)送3個(gè)icmp包
-i 0.3代表發(fā)包時(shí)間間隔
-W 1代表等待超時(shí)的時(shí)間為1
然后我們需要將上面的結(jié)果重定向到一個(gè)變量中,這里給大家講一個(gè)很特殊的重定向
ping -c 3 -i 0.3 -W 1 192.168.1.1 &> /dev/null
/dev/null是一個(gè)“黑洞”,用于將輸入丟棄
&> 表示同時(shí)重定向標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出
這是有一個(gè)特殊的變量:?,?的值為0或1,分別代表不可達(dá)/可達(dá)
接下來(lái)就是寫(xiě)到循環(huán)中,并判斷?的值
整體代碼如下:
#!/bin/bash
for i in `seq 254`
do#執(zhí)行 pingping -c 3 -i 0.3 -W 1 192.168.1.$i &> /dev/null#判斷主機(jī)是否存活if [ $? == 0 ];thenecho "192.168.1.$i is up!"elseecho "192.168.1.$i is down!"fi
done