Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4826841
  • 博文数量: 930
  • 博客积分: 12070
  • 博客等级: 上将
  • 技术积分: 11448
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-15 16:57
文章分类

全部博文(930)

文章存档

2011年(60)

2010年(220)

2009年(371)

2008年(279)

分类:

2008-10-28 21:05:36

#!/bin/bash


printerr () {
        echo "incorrect IP format."
        readip
        chkip
}

readip () {
        read -p "Your IP: " IP
}

chkip () {
        echo "$IP" | grep -Eq '[^0-9.]|^\.|\.$|^0*\.|\.\.' && printerr
        [ $(echo -e "${IP//./\n}" | wc -l) -ne 4 ] && printerr
        for i in ${IP//./ } ; do
                echo $i | grep -Eq "^0+[^0]" && printerr
                [ $((10#$i/8)) -gt 31 ] && printerr

        done
}

if [ "$1" ]; then
        IP=$1
else
        readip
fi
chkip
echo "$IP is good!"

阅读(1139) | 评论(0) | 转发(0) |
0

上一篇:shell read详解

下一篇:shell进制转换以及bc

给主人留下些什么吧!~~