python和shell实现的校验IP地址合法性脚本分享
python和shell实现的校验IP地址合法性脚本分享
发布时间:2016-12-28 来源:查字典编辑
摘要:一、python校验IP地址合法性执行效果:python代码:复制代码代码如下:[root@yangpython]#vicheck_ip.p...

一、python校验IP地址合法性

执行效果:

python和shell实现的校验IP地址合法性脚本分享1

python代码:

复制代码 代码如下:

[root@yang python]# vi check_ip.py

#!/usr/bin/python

import os,sys

def check_ip(ipaddr):

import sys

addr=ipaddr.strip().split('.') #切割IP地址为一个列表

#print addr

if len(addr) != 4: #切割后列表必须有4个参数

print "check ip address failed!"

sys.exit()

for i in range(4):

try:

addr[i]=int(addr[i]) #每个参数必须为数字,否则校验失败

except:

print "check ip address failed!"

sys.exit()

if addr[i]<=255 and addr[i]>=0: #每个参数值必须在0-255之间

pass

else:

print "check ip address failed!"

sys.exit()

i+=1

else:

print "check ip address success!"

if len(sys.argv)!=2: #传参加本身长度必须为2

print "Example: %s 10.0.0.1 "%sys.argv[0]

sys.exit()

else:

check_ip(sys.argv[1]) #满足条件调用校验IP函数

二、shell校验IP地址合法性

执行校果:

返回值0校验合法,非0不合法。

python和shell实现的校验IP地址合法性脚本分享2

shell代码:

复制代码 代码如下:

[root@yang python]# vi check_ip.sh

#!/usr/bin/sh

CheckIPAddr()

{

echo $1|grep "^[0-9]{1,3}.([0-9]{1,3}.){2}[0-9]{1,3}$" > /dev/null;

#IP地址必须为全数字

if [ $? -ne 0 ]

then

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

return 1

fi

done

return 0

}

if [ $# -ne 1 ];then #判断传参数量

echo "Usage: $0 ipaddress."

exit

else

CheckIPAddr $1

fi

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类