正确的IP地址格式:
1.以点号为分隔的域为4或6(IPV6);
2.除点号外全部为数字;
3.第一个和最后一个字节不能为0;
4.所有字节的数值不能超过255;
5.最后一个字节不能为255;(这是子网广播地址)
IPADDR=192.168.1.1 (有效)
IPADDR=192.168.0.254(有效)
IPADDR=10.0.0.0(无效)
IPADDR=0.1.1.1(无效)
IPADDR=192.168.001.001 (无效)
IPADDR=1aa.2bb.3cc.4dd (无效)
IPADDR=aaa.bbb.ccc.ddd (无效)
IPADDR=192.168.1.1.2 (无效)
IPADDR=292.168.1.1(无效)
IPADDR=192.168.1.1111(无效)
IPADDR=192.001.2.3(无效)
echo $a |grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$"|grep -v "\.0[0-9]\{1,2\}"|grep -v "^0[0-9]\{1,2\}" || return 1
echo $a |awk -F. '{if(NF==4 && $1>0 && $1<=255 && $2>=0 && $2<=255 && $3>=0 && $3<=255 && $4>0 && $4<255) exit 0; else exit 1}'