最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本實(shí)現(xiàn)IP地址合法性判斷

 更新時(shí)間:2014年10月23日 08:42:46   投稿:junjie  
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)IP地址合法性判斷,本文給出了實(shí)現(xiàn)代碼和運(yùn)行代碼,需要的朋友可以參考下

做unix/linux下的開發(fā),腳本編寫的功力是少不了的,作為shell編程,也是博大精深的一個(gè)技術(shù)領(lǐng)域,這里為了學(xué)習(xí),就寫一個(gè)簡單的判斷IP地址是否合法的微型腳本程序,這個(gè)小程序也是非常有用的。

IP地址是32位的,可以由4個(gè)十進(jìn)制數(shù)值表示,每個(gè)數(shù)值的范圍都是0~255.

復(fù)制代碼 代碼如下:

#!/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直接運(yùn)行就可以得到如下結(jié)果

復(fù)制代碼 代碼如下:

# 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

相關(guān)文章

  • Linux查找文件夾下包含某字符的所有文件

    Linux查找文件夾下包含某字符的所有文件

    這篇文章主要介紹了Linux查找文件夾下包含某字符的所有文件,文中給大家提到了linux查找目錄下的所有文件中是否含有某個(gè)字符串的相關(guān)知識,需要的朋友可以參考下
    2019-09-09
  • 讓代碼整潔、過程清晰的BASH Shell編程技巧

    讓代碼整潔、過程清晰的BASH Shell編程技巧

    這篇文章主要介紹了讓代碼整潔、過程清晰的BASH Shell編程技巧,特別是大型的Shell項(xiàng)目中,這10個(gè)經(jīng)驗(yàn)之談可以幫助你寫出代碼整潔、過程清晰的代碼,需要的朋友可以參考下
    2014-07-07
  • linux系統(tǒng)下hosts文件詳解及配置

    linux系統(tǒng)下hosts文件詳解及配置

    hosts文件是Linux系統(tǒng)上一個(gè)負(fù)責(zé)ip地址與域名快速解析的文件,以ascii格式保存在/etc/目錄下。這篇文章主要介紹了linux系統(tǒng)下hosts文件詳解及配置的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑

    Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑

    本文主要介紹了Shell獲取當(dāng)前正在執(zhí)行腳本的絕對路徑,主要有三種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Shell腳本函數(shù)傳遞參數(shù)的實(shí)現(xiàn)方法

    Shell腳本函數(shù)傳遞參數(shù)的實(shí)現(xiàn)方法

    本文主要介紹了Shell腳本函數(shù)傳遞參數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用Linux命令行創(chuàng)建文件的方法

    使用Linux命令行創(chuàng)建文件的方法

    使用命令行創(chuàng)建文件時(shí),可以選擇touch或echo命令,touch創(chuàng)建空文件,echo則可直接寫入內(nèi)容,編輯文件可用nano、vim等編輯器,驗(yàn)證文件可用ls命令檢查,這些方法簡單易用,適合各種編程需求,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Linux Shell腳本編程的注意事項(xiàng)

    Linux Shell腳本編程的注意事項(xiàng)

    這篇文章主要介紹了Linux下Shell腳本編程的一些注意事項(xiàng),如編程風(fēng)格、命名風(fēng)格等,需要的朋友可以參考下
    2014-03-03
  • shell腳本內(nèi)調(diào)用另外一個(gè)shell腳本的幾種方法講解

    shell腳本內(nèi)調(diào)用另外一個(gè)shell腳本的幾種方法講解

    在Linux開發(fā)中經(jīng)常會(huì)編寫shell腳本來執(zhí)行一些任務(wù),下面這篇文章主要給大家介紹了關(guān)于shell腳本內(nèi)調(diào)用另外一個(gè)shell腳本的幾種方法,需要的朋友可以參考下
    2023-06-06
  • win下調(diào)用putty執(zhí)行命令腳本分享

    win下調(diào)用putty執(zhí)行命令腳本分享

    這篇文章主要介紹了win下調(diào)用putty執(zhí)行命令腳本,可以利用這個(gè)實(shí)現(xiàn)一些自動(dòng)化的工作,需要的朋友可以參考下
    2014-03-03
  • 使用shell讀取ini文件方法步驟

    使用shell讀取ini文件方法步驟

    本文主要介紹了使用shell讀取ini文件方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評論

南岸区| 乐至县| 将乐县| 江西省| 成都市| 淳安县| 偏关县| 类乌齐县| 红桥区| 呼伦贝尔市| 朝阳市| 化州市| 隆化县| 潜山县| 墨竹工卡县| 绥中县| 弋阳县| 习水县| 玛曲县| 扶风县| 江源县| 江山市| 夏津县| 阜新市| 抚顺县| 东城区| 秀山| 志丹县| 临西县| 革吉县| 通江县| 嘉兴市| 靖州| 钦州市| 宁安市| 隆化县| 三亚市| 工布江达县| 灵山县| 绥江县| 米泉市|