我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell脚本中如何判断IP地址合法性

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell脚本中如何判断IP地址合法性

Shell脚本中如何判断IP地址合法性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

做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地址合法性问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell脚本中如何判断IP地址合法性

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本中如何判断IP地址合法性

Shell脚本中如何判断IP地址合法性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精
2023-06-09

Shell脚本实现IP地址合法性判断

做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的。 IP地址是32位的,可以由4个十进制数值表
2022-06-04

Shell脚本中怎么判断IP地址是否合法

Shell脚本中怎么判断IP地址是否合法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用shell校验IP地址合法性代码如下:[root@yang pytho
2023-06-09

Shell脚本判断IP地址是否合法的方法

使用shell校验IP地址合法性 使用方法: [root@yang python]# bash check_ip.sh IP地址 执行结果:返回值0校验合法,非0不合法。shell代码: [root@yang python]# vi che
2022-06-04

Shell脚本中怎么判断IP地址是否在一个ip段内

今天就跟大家聊聊有关Shell脚本中怎么判断IP地址是否在一个ip段内,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。cat ipcalc.sh#!/bin/bashIP=$1if [
2023-06-09

Linux Shell脚本中如何获取本机ip地址

小编给大家分享一下Linux Shell脚本中如何获取本机ip地址,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Linux系统Linux是一种免费使用和自由
2023-06-09

Linux Shell脚本中获取本机ip地址方法

方法一:ifconfig -aifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"命令解析 ifconfig -a    
2022-06-04

Shell脚本实现判断IP地址是否在一个ip段内代码分享

cat ipcalc.sh #!/bin/bash IP=$1 if [ -z $IP ] then echo -e “e[31;42m sh ipcalc.sh IP e[0m" exit fi while read MASK do mi
2022-06-04

windows中如何判断ip地址的不同

本篇内容主要讲解“windows中如何判断ip地址的不同”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows中如何判断ip地址的不同”吧!判断ip地址的不同:1、IP地址由四段组成,每个
2023-07-01

Android应用中怎么判断ip地址是否合法

本篇文章给大家分享的是有关Android应用中怎么判断ip地址是否合法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体方法如下public boolean isIP(Stri
2023-05-31

Shell脚本中获取本机ip地址的3个方法

方法一:/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" or /sbin/ifconfig|sed -n
2022-06-04

如何使用Shell脚本自动修改IP地址

如何使用Shell脚本自动修改IP地址,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。#!/bin/sh #auto Change ip netmask gateway sc
2023-06-09

如何在python3项目中对IP地址进行判断

本篇文章给大家分享的是有关如何在python3项目中对IP地址进行判断,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python是什么意思Python是一种跨平台的、具有解释性
2023-06-06

如何在shell脚本中判断输入参数是否为整数值

如何在shell脚本中判断输入参数是否为整数值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、用shell命令使其与某个整型值进行计算,通过$?来判断其是否是
2023-06-09

如何用shell脚本验证用户输入的参数合法性

这期内容当中小编将会给大家带来有关如何用shell脚本验证用户输入的参数合法性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:#!/
2023-06-09

如何实现并分析Shell脚本apache日志中ip所在的地区

这篇文章主要讲解了“如何实现并分析Shell脚本apache日志中ip所在的地区”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现并分析Shell脚本apache日志中ip所在的地区”吧
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录