shell 检测网段在线主机(2)

if [[ $Ip =~ ^([2-9]|[1-9][0-9]|1[0-9][0-9]|2[01][0-9]|22[0-3])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])$ ]];then 

#合法,则取出第一个字段,属于哪类网  

    Mask=`echo "$Ip"|cut -d"." -f1`  

#如果是A类网,则调用net_A函数,依次类推  

    [ $Mask -lt 128 ] && net_A $Ip  

    [ $Mask -lt 192 -a $Mask -gt 127 ] && net_B $Ip  

    [ $Mask -gt 191 ] && net_C $Ip  

 

else 

#如果输入IP错误,则报错信息如下  

echo "Error! $Ip invalid." 

fi  

如果要使用以上代码,要慎重...尤其是A类网和B类网...255*255*255的资源开销,您自己琢磨....呃,如果仅供测试的话,可以把结果输出到文件,放到后台执行,或者仅测试特定IP的话,您可以把for循环中seq的生成数字,修改一下,也是没问题的.....

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5ef61928bd18dc0ec9d663ee69a67ab5.html