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

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

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

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

IP地址是32位的,可以由4個十進(jìn)制數(shù)值表示,每個數(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查找目錄下的所有文件中是否含有某個字符串的相關(guān)知識,需要的朋友可以參考下
    2019-09-09
  • 讓代碼整潔、過程清晰的BASH Shell編程技巧

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

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

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

    hosts文件是Linux系統(tǒng)上一個負(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ì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Shell腳本函數(shù)傳遞參數(shù)的實現(xiàn)方法

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

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

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

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

    Linux Shell腳本編程的注意事項

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

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

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

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

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

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

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

最新評論

平阳县| 两当县| 连山| 秦安县| 东安县| 西峡县| 新邵县| 醴陵市| 乳山市| 泾阳县| 全椒县| 永仁县| 仙游县| 丰都县| 玉门市| 滦南县| 勃利县| 五莲县| 桐乡市| 侯马市| 钟祥市| 新田县| 岑巩县| 融水| 易门县| 东兴市| 五峰| 峨边| 高密市| 泰宁县| 元阳县| 共和县| 同心县| 阳山县| 依安县| 哈巴河县| 武山县| 金秀| 十堰市| 黔东| 平江县|