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

溫馨提示×

溫馨提示×

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

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

Shell腳本判斷IP是否合法性(多種方法)

發布時間:2020-04-01 17:43:05 來源:網絡 閱讀:22560 作者:李振良OK 欄目:開發技術

運維角度來說,寫shell腳本經常會遇到判斷輸入的值是否合法,比如IP、郵件地址等。那么,根據自身寫腳本中總結的判斷IP合法性腳本分享給網友,遇到時能有所參考。

思路:IP由四位數字組成,以點分割,每個字段不能大于255,必須符合這種格式

方法1:

#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
 
function check_ip() {
    IP=$1
    VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
    if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then
        if [ ${VALID_CHECK:-no} == "yes" ]; then
            echo "IP $IP available."
        else
            echo "IP $IP not available!"
        fi
    else
        echo "IP format error!"
    fi
}
# Example
check_ip 192.168.1.1
check_ip 256.1.1.1


方法2:

#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
 
function check_ip() {
    IP=$1
    if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
        FIELD1=$(echo $IP|cut -d. -f1)
        FIELD2=$(echo $IP|cut -d. -f2)
        FIELD3=$(echo $IP|cut -d. -f3)
        FIELD4=$(echo $IP|cut -d. -f4)
        if [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then
            echo "IP $IP available."
        else
            echo "IP $IP not available!"
        fi
    else
        echo "IP format error!"
    fi
}
# Example
check_ip 192.168.1.1
check_ip 256.1.1.1


加個循環,如果錯誤則重新輸入,直到正確:

#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
 
function check_ip() {
    local IP=$1
    VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
    if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then
        if [ $VALID_CHECK == "yes" ]; then
         echo "IP $IP  available!"
            return 0
        else
            echo "IP $IP not available!"
            return 1
        fi
    else
        echo "IP format error!"
        return 1
    fi
}
while true; do
    read -p "Please enter IP: " IP
    check_ip $IP
    [ $? -eq 0 ] && break
done


向AI問一下細節

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

AI

浑源县| 高陵县| 思茅市| 武平县| 普定县| 盐边县| 郸城县| 巴东县| 剑河县| 巴彦淖尔市| 普洱| 会昌县| 星座| 霞浦县| 通渭县| 将乐县| 隆昌县| 沽源县| 鄂托克前旗| 韶关市| 札达县| 临洮县| 定西市| 廊坊市| 广平县| 金平| 玛纳斯县| 邯郸市| 嘉义县| 澄江县| 进贤县| 五家渠市| 资讯| 土默特右旗| 和硕县| 长武县| 遂平县| 黔南| 南安市| 新竹县| 洛阳市|