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地址的3个方法
方法一:/sbin/ifconfig-a|grepinet|grep-v127.0.0.1|grep-vinet6|awk'{print$2}'|tr-d"addr:"or/sbin/ifconfig|sed-n'/inetaddr/s/^[^:]*:([0-9.]{7,15}).*/1/p'方法二:local_host="`hostname--fqdn`
Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP
#/usr/bin/envbash#Name:get_network_info.sh#Author:Purple_Grape#ThisisascripttogathernetworkinformationofyourLinuxsystem.#TestunderUbuntu10.04only.#----------------------------NIC=eth0MAC=`LANG=Cifconf
Shell脚本实现自动修改IP地址
作为一名LinuxSA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主
编辑:一起学习网
标签:脚本,地址,方法,都是,如果你