国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Shell腳本實現IP地址合法性判斷

2019-10-26 18:42:27
字體:
來源:轉載
供稿:網友

做unix/linux下的開發,腳本編寫的功力是少不了的,作為shell編程,也是博大精深的一個技術領域,這里為了學習,就寫一個簡單的判斷IP地址是否合法的微型腳本程序,這個小程序也是非常有用的。

IP地址是32位的,可以由4個十進制數值表示,每個數值的范圍都是0~255.

代碼如下:
#!/bin/bash

# Test an IP address for validity:
# Usage:
#      valid_ip IP_ADDRESS
#      if [[ $? -eq 0 ]]; then echo good; else echo bad; fi
#   OR
#      if valid_ip IP_ADDRESS; then echo good; else echo bad; fi
#
function valid_ip()
{
    local  ip=$1
    local  stat=1

    if [[ $ip =~ ^[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}$ ]]; then
        OIFS=$IFS
        IFS='.'
        ip=($ip)
        IFS=$OIFS
        [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 /
            && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
        stat=$?
    fi
    return $stat
}

# If run directly, execute some tests.
if [[ "$(basename $0 .sh)" == 'valid_ip' ]]; then
    ips='
        4.2.2.2
        a.b.c.d
        192.168.1.1
        0.0.0.0
        255.255.255.255
        255.255.255.256
        192.168.0.1
        192.168.0
        1234.123.123.123
        '
    for ip in $ips
    do
        if valid_ip $ip; then stat='good'; else stat='bad'; fi
        printf "%-20s: %s/n" "$ip" "$stat"
    done
fi

如果你存儲成valid_ip.sh直接運行就可以得到如下結果

代碼如下:
# sh valid_ip.sh
  4.2.2.2             : good
  a.b.c.d             : bad
  192.168.1.1         : good
  0.0.0.0             : good
  255.255.255.255     : good

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江达县| 阿鲁科尔沁旗| 尼玛县| 阿城市| 齐齐哈尔市| 瓮安县| 安仁县| 铁力市| 三穗县| 香港 | 怀宁县| 洪洞县| 改则县| 紫阳县| 香河县| 平潭县| 上虞市| 巴青县| 马山县| 泰安市| 大余县| 慈利县| 澄城县| 泗洪县| 江口县| 菏泽市| 新竹市| 抚宁县| 稷山县| 安徽省| 张家口市| 武冈市| 郯城县| 诸暨市| 前郭尔| 比如县| 都江堰市| 宝坻区| 长垣县| 鄂托克旗| 海兴县|