欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

IP地址是32位的,可以由4個十進制數(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直接運行就可以得到如下結(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 shell命令的常用快捷鍵

    linux shell命令的常用快捷鍵

    下面是一些shell的常用快捷鍵,快捷鍵玩熟悉了在一定程度上是可以提高工作效率滴
    2013-01-01
  • shell腳本一鍵部署docker的實現(xiàn)步驟

    shell腳本一鍵部署docker的實現(xiàn)步驟

    作為一名經(jīng)驗豐富的開發(fā)者,我們經(jīng)常需要使用Docker來快速部署各種應(yīng)用,本文主要介紹了shell腳本一鍵部署docker的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • php在linux中可能用到的命令(推薦)

    php在linux中可能用到的命令(推薦)

    下面小編就為大家?guī)硪黄猵hp在linux中可能用到的命令(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    這篇文章主要為大家整理了一些Linux中查看服務(wù)器內(nèi)存、CPU和網(wǎng)絡(luò)占用情況的命令,文中的示例代碼簡潔易懂,需要的小伙伴可以參考一下
    2023-08-08
  • 讓代碼整潔、過程清晰的BASH Shell編程技巧

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

    這篇文章主要介紹了讓代碼整潔、過程清晰的BASH Shell編程技巧,特別是大型的Shell項目中,這10個經(jīng)驗之談可以幫助你寫出代碼整潔、過程清晰的代碼,需要的朋友可以參考下
    2014-07-07
  • linux 檢測遠(yuǎn)程端口是否打開方法總結(jié)

    linux 檢測遠(yuǎn)程端口是否打開方法總結(jié)

    這篇文章主要介紹了linux 檢測遠(yuǎn)程端口是否打開方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Shell腳本中if條件判斷的寫法實例

    Shell腳本中if條件判斷的寫法實例

    在寫shell腳本的過程中,用到了if else的寫法,突然有多個參數(shù)需要判斷,那么就想到了if else if的用法,這篇文章主要給大家介紹了關(guān)于Shell腳本中if條件判斷寫法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • linux 比較兩個文件夾diff不同 (diff命令, md5列表)

    linux 比較兩個文件夾diff不同 (diff命令, md5列表)

    這篇文章主要介紹了linux 比較兩個文件夾diff不同 (diff命令, md5列表),比較文件夾diff,可以直接使用diff命令,也可以比較文件md5列表,下面通過實例給大家介紹下,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • Linux 日常常用指令及應(yīng)用小結(jié)

    Linux 日常常用指令及應(yīng)用小結(jié)

    最近在學(xué)習(xí)一些基本的Linux指令,在這里總結(jié)一下,在搭環(huán)境中常用的一些指令,熟悉這些指令就基本能夠使用CentOS進行日常操作了
    2017-08-08
  • CentOS下mysql定時備份Shell腳本分享

    CentOS下mysql定時備份Shell腳本分享

    這篇文章主要介紹了CentOS下mysql定時備份Shell腳本分享,本文使用的是最簡單的方法,需要的朋友可以參考下
    2014-12-12

最新評論