1.软文推荐

2.软文推荐

3.软文推荐

运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP、邮件地址等。那么,根据自身写脚本中总结的判断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 truedo  
   read -p "Please enter IP: " IP  
   check_ip $IP  
   [ $? -eq 0 ] && break  
done

本文来源:www.lxlinux.net/7463.html,若引用不当,请联系修改。

相关文章 8

1

Linux下非常有趣的游戏 3分钟前

游戏是 Linux 的传统弱项之一,感谢 Steam、GOG 和其他的游戏开发商将商业游戏移植到了多个操作系统,Linux 的这个弱项在近几年有所改观,但...

2

hosteons主机(host 主机) 4分钟前

目录:1、NS喷射战士3需要联机不?2、NS续航版开机出现BOOT解决方法3、ns上的galgame有r18的吗4、卡带cht是什么版本NS喷射战士3需要联机不?...

3

Chrome浏览器使用率世界第一 7分钟前

来自研究公司Net Market Share发布的数据显示,从桌面浏览器的流量来看,在4月份,Chrome的市场份额为41.6%,IE的市场份额为41.3%。这是Chrome首次...

4

Java堆内存Heap与非堆内存Non-Heap 7分钟前

Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。在JVM中堆之外的内...

5

高防ip(高防ip价格) 9分钟前

目录:1、什么是高防IP?2、高防IP是什么?3、什么是高防ip,原理是什么什么是高防IP? 高防IP是一种新式高防技术,替身式防御,具备T级...

6

GitHub使用的四个小技巧 9分钟前

作为一个非常喜欢GitHub的程序员,我在日常使用中发现了这4个技巧,可以提高我使用GitHub的效率。这篇文章介绍并演示了这4个技巧,我希望...

7

如何在Linux系统中恢复已删除的文件 12分钟前

当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件。不过,幸运的是文件是可以...

8

发布产品后怎么优化标题比较好(发布产品后怎么优化标题比较好呢) 12分钟前

目录:1、淘宝标题怎么优化2、产品标题要怎样写?产品标题应该怎样优化呢?3、淘宝店铺宝贝标题怎么优化?4、教你优化宝贝标题技巧淘...