中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell腳本ping -w用法

發布時間:2020-07-21 22:04:29 來源:網絡 閱讀:7362 作者:290480358 欄目:開發技術

今天寫了一個循環ping的腳本用來掃描網段中一些不通的ip地址,代碼如下:

#!/bin/bash

ping_info(){

        ping -c 2 -w 1 $1;

        if(($?!=0));

                then echo $1 >> /tmp/iplist;

        fi;

}

for i in `seq 129 254`;do

        ip_dx=192.168.1.$i

        ip_lt=192.168.2.$i

        ip_yd=192.168.3.$i

        ping_info $ip_dx

        ping_info $ip_lt

        ping_info $ip_yd

done


執行之后發現一個問題:無論地址能不能ping通,都寫入到了/tmp/iplist中了,與腳本的初衷不符。

后將命令:ping -c 2 -w $1 單獨拿出來運行分別用了一個通的ip和不通的ip做測試,發現echo $?的值都為1。

ping -c 2 -w 1 ip: -c 2的意思為ping兩個包,-w 1的意思為等待時間為1秒(為了節約執行腳本的時間),問題就出在這個-w 1這里。根據環境的差別,ping的延時不通,ping兩個包的時間也不通。我這里用time測試,ping兩個包的時間大于1秒。所以如果指定超時時間為1秒的話,第二個包可能沒有ping完就被結束了,所以echo $?結果為1。后將超時時間設置為3秒之后,腳本成功運行。

#!/bin/bash

ping_info(){

        ping -c 2 -w 3 $1;

        if(($?!=0));

                then echo $1 >> /tmp/iplist;

        fi;

}

for i in `seq 129 254`;do

        ip_dx=192.168.1.$i

        ip_lt=192.168.2.$i

        ip_yd=192.168.3.$i

        ping_info $ip_dx

        ping_info $ip_lt

        ping_info $ip_yd

done


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛学| 阳新县| 西盟| 宾川县| 镇远县| 安溪县| 丹江口市| 拜城县| 于田县| 申扎县| 山东省| 景宁| 调兵山市| 凤冈县| 墨玉县| 磴口县| 湛江市| 台江县| 若尔盖县| 紫云| 商都县| 锡林浩特市| 香河县| 静乐县| 漳平市| 南昌市| 杭锦后旗| 凉城县| 且末县| 永登县| 尚义县| 温泉县| 上蔡县| 昌吉市| 辉县市| 准格尔旗| 凭祥市| 平湖市| 谢通门县| 桂阳县| 隆林|