校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Shell腳本實現IP地址合法性判斷

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

熱門標簽:東莞電銷機器人價格一覽表 百度地圖的地圖標注 陜西電銷卡外呼系統怎么安裝 百度地圖標注圖標更換 佛山高德地圖標注中心 旅游地圖標注大全 excel地址地圖標注 杭州機器人外呼系統 地圖標注超出范圍怎么辦

做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
  255.255.255.256     : bad
  192.168.0.1         : good
  192.168.0           : bad
  1234.123.123.123    : bad

標簽:雅安 西藏 通遼 延邊 朝陽 南充 隨州 青島

巨人網絡通訊聲明:本文標題《Shell腳本實現IP地址合法性判斷》,本文關鍵詞  Shell,腳本,實現,地址,合法性,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本實現IP地址合法性判斷》相關的同類信息!
  • 本頁收集關于Shell腳本實現IP地址合法性判斷的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 长沙县| 黑龙江省| 永春县| 马尔康县| 石阡县| 瑞昌市| 祁连县| 密云县| 云龙县| 凤山市| 越西县| 呼和浩特市| 尼勒克县| 石河子市| 招远市| 杨浦区| 桃江县| 虎林市| 鹿邑县| 英吉沙县| 龙胜| 嘉鱼县| 桃园县| 闻喜县| 南宫市| 晋城| 双城市| 西丰县| 綦江县| 泰来县| 东莞市| 都兰县| 安多县| 鄂托克前旗| 都匀市| 渑池县| 宜川县| 木里| 屯昌县| 广河县| 金堂县|