千家信息网

Linux shell怎么判断IP合法性

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了Linux shell怎么判断IP合法性的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux shell怎么判断IP合法性文章都会有所收获,下面我们
千家信息网最后更新 2026年11月04日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合法性"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0