Linux shell怎么判断IP合法性

发布时间:2022-02-17 15:43:45 作者:iii
来源:亿速云 阅读:110

这篇文章主要介绍了Linux shell怎么判断IP合法性的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux shell怎么判断IP合法性文章都会有所收获,下面我们一起来看看吧。

Linux shell怎么判断IP合法性

思路:IP由四位数字组成,以点分割,每个字段不能大于255,必须符合这种格式。

方法1:

#!/bin/bash    function check_ip() {  
   IP=$1  
   VALID_CHECK=$(echo $IP|awk -F. '$1)  
   if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then  
       if [ ${VALID_CHECK:-no} == "yes" ]; then  
           echo "IP $IP available."  
       else  
           echo "IP $IP not available!"  
       fi  
   else  
       echo "IP format error!"  
   fi   }  # Example  check_ip 192.168.1.1  
check_ip 256.1.1.1

方法2:

#!/bin/bash    function check_ip() {  
   IP=$1  
   if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then  
       FIELD1=$(echo $IP|cut -d. -f1)  
       FIELD2=$(echo $IP|cut -d. -f2)  
       FIELD3=$(echo $IP|cut -d. -f3)  
       FIELD4=$(echo $IP|cut -d. -f4)  
       if [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then  
           echo "IP $IP available."  
       else  
           echo "IP $IP not available!"  
       fi  
   else  
       echo "IP format error!"  
   fi   }  # Example  check_ip 192.168.1.1  
check_ip 256.1.1.1

加个循环,如果错误则重新输入,直到正确:

#!/bin/bash    function check_ip() {  
   local IP=$1  
   VALID_CHECK=$(echo $IP|awk -F. '$1)  
   if echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then  
       if [ $VALID_CHECK == "yes" ]; then  
        echo "IP $IP  available!"  
           return 0  
       else  
           echo "IP $IP not available!"  
           return 1  
       fi  
   else  
       echo "IP format error!"  
       return 1  
   fi   }  while true; do  
   read -p "Please enter IP: " IP  
   check_ip $IP  
   [ $? -eq 0 ] && break  done

关于“Linux shell怎么判断IP合法性”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Linux shell怎么判断IP合法性”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Linux系统中vim文本编辑器的使用
  2. Linux命令:RPM

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux shell

上一篇:Xshell连接不上虚拟机怎么解决

下一篇:Shell怎么实现开机自动挂载本地YUM仓库程序

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》