当前位置:首页 / 编程技术 / 运营维护 / Shell脚本实现IP地址合法性判断
Shell脚本实现IP地址合法性判断
发布时间:2022/07/10来源:编程网

做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
分享到:
免责声明:本文仅代表文章作者的个人观点,与本站无关,请读者仅作参考,并自行核实相关内容。文章内容来源于网络,版权归原作者所有,如有侵权请与我们联系,我们将及时删除。
资讯推荐
热门最新
精品工具
全部评论(0)
剩余输入数量90/90
暂无任何评论,欢迎留下你的想法
你可能感兴趣的资讯
换一批