当前位置: 首页 > 编程笔记 >

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

尤茂材
2023-03-14
本文向大家介绍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

 类似资料:
  • 本文向大家介绍python和shell实现的校验IP地址合法性脚本分享,包括了python和shell实现的校验IP地址合法性脚本分享的使用技巧和注意事项,需要的朋友参考一下 一、python校验IP地址合法性 执行效果: python代码: 二、shell校验IP地址合法性 执行校果:   返回值0校验合法,非0不合法。 shell代码:

  • 本文向大家介绍Shell脚本实现自动修改IP地址,包括了Shell脚本实现自动修改IP地址的使用技巧和注意事项,需要的朋友参考一下 作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途为:修改ip和主机名等相关信

  • 本文向大家介绍Android 判断ip地址合法实现代码,包括了Android 判断ip地址合法实现代码的使用技巧和注意事项,需要的朋友参考一下 Android 判断ip地址合法实现代码 昨天,我在网上找了一下判断文本框内的字符串是否是合法的ip地址,自己想到了正则表达式,可是自己对这个却不熟,所以在网上查找了一些资料,最后终于是做出来了。 具体的代码很简单, 这个代码先用正则表达式判断是否合法,其

  • 本文向大家介绍Shell脚本中获取本机ip地址的3个方法,包括了Shell脚本中获取本机ip地址的3个方法的使用技巧和注意事项,需要的朋友参考一下 方法一: 方法二: 方法三:

  • 本文向大家介绍Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP,包括了Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍python实现ip地址的包含关系判断,包括了python实现ip地址的包含关系判断的使用技巧和注意事项,需要的朋友参考一下 python的IPy模块虽然可以实现一些ip地址的判断,但是不是很完美,有些场景根本判断不出来,还会抛出异常,比如一个地址范围和一个ip/掩码,这种不同类型就无法判断。 对此通过自己写函数来实现ip地址的判断,实现的思路很简单,先把ip地址转换为一个十进制的范