编写一个判断IP地址合法性的bash脚本
2008-07-04 21:11
676 查看
做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的。
IP地址是32位的,可以由4个十进制数值表示,每个数值的范围都是0~255.
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
相关文章推荐
- Linux学习之道:编写一个判断IP地址合法性的bash脚本
- bash脚本判断ip合法性
- 利用HTML+JAVASCRIPT编写的判断IP地址合法性,并将其合法IP地址分类
- 一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!
- 一个很不错的bash脚本编写教程
- python和shell实现的校验IP地址合法性脚本分享
- Shell脚本实现判断IP地址是否在一个ip段内代码分享
- python和shell实现的校验IP地址合法性脚本分享
- Shell脚本判断IP是否合法性(多种方法)
- 用vbs针对一个 IP 地址范围运行脚本
- Shell脚本实现判断IP地址是否在一个ip段内代码分享
- Java:判断IP4地址合法性
- 写一个脚本checkipadd.sh,判断所输入的参数是否为正确的IP地址,如 果是就输出"This is ip address";如果不是就输出"This is not ip address" (1
- Shell脚本判断IP是否合法性(多种方法)
- 利用javascript窗口框架做的判断ip地址合法性并将其分类
- 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e "Pl
- 写一个脚本,实现判断192.168.3.0/24网络里,当前在线的IP有哪些。
- 在ubuntu linux 中编写一个自己的bash脚本
- 用python编写一个仿路由器命令的交互式脚本
- JS判断ip的合法性 判断2个ip的大小