shell脚本检查IP地址是否合法

来源:互联网 发布:北京大学大数据 编辑:程序博客网 时间:2024/05/17 08:26
#!/usr/bin/shcheck_ipaddr(){    echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" > /dev/null;    if [ $? -ne 0 ]    then        echo "IP地址必须全部为数字"         return 1    fi    ipaddr=$1    a=`echo $ipaddr|awk -F . '{print $1}'`  #以"."分隔,取出每个列的值     b=`echo $ipaddr|awk -F . '{print $2}'`    c=`echo $ipaddr|awk -F . '{print $3}'`    d=`echo $ipaddr|awk -F . '{print $4}'`    for num in $a $b $c $d    do        if [ $num -gt 255 ] || [ $num -lt 0 ]    #每个数值必须在0-255之间         then            echo $ipaddr "中,字段"$num"错误"             return 1        fi   done   echo $ipaddr "地址合法"   return 0}if [ $# -ne 1 ];then            #判断传参数量         echo "Usage: $0 ipaddress."         exitelsecheck_ipaddr $1fi


运行结果:

[root@bogon home]# ./valid_ip.sh 192.168.100.100192.168.100.100 地址合法[root@bogon home]# ./valid_ip.sh 192.168.100.aIP地址必须全部为数字[root@bogon home]# ./valid_ip.sh Usage: ./valid_ip.sh ipaddress.