写一个脚本checkipadd.sh,判断所输入的参数是否为正确的IP地址,如 果是就输出"This is ip address";如果不是就输出"This is not ip address" (1

来源:互联网 发布:恭亲王奕欣 知乎 编辑:程序博客网 时间:2024/06/06 12:48
写一个脚本checkipadd.sh,判断所输入的参数是否为正确的IP地址,如
果是就输出"This is ip address";如果不是就输出"This is not ip address"

测试如下输入值:
192.168.0.199
95.0.0.1
24.234.2345.1
192.a1.123.0
1a2.1.1.0
01.1.1.1
123





#!/bin/bash
read -p "请输入要检测的IP地址:" input
ip=`echo $input | sed -n '/\./p'`
yi0=`echo $ip |cut -d '.' -f1 `
yi=`echo $yi0 |grep ^0 -v `
if [ $yi -ge 0 -a $yi -lt 256 ] &>/dev/null;then
er0=`echo $ip |cut -d '.' -f2`
sum2=`echo $er0 | wc -c`
[ $sum2 -eq 2 ] && er=`echo $er0 `
[ $sum2 -ge 3 ] && sum2_1=`echo $er0|cut -c1` && [ $sum2_1 -eq 0 ] && echo "This is not ip address" && exit || er=`echo $er0 `

if [ $er -ge 0 -a $er -lt 256 ] &>/dev/null;then
san0=`echo $ip |cut -d '.' -f3`
sum3=`echo $san0 | wc -c`
[ $sum3 -eq 2 ] && san=`echo $san0 `
[ $sum3 -ge 3 ] && sum3_1=`echo $san0|cut -c1` && [ $sum3_1 -eq 0 ] && echo "This is not ip address" && exit || san=`echo $san0 `



if [ $san -ge 0 -a $san -lt 256 ] &>/dev/null;then
si0=`echo $ip |cut -d '.' -f4`
sum4=`echo $si0 | wc -c`
[ $sum4 -eq 2 ] && si=`echo $si0 `
[ $sum4 -ge 3 ] && sum4_1=`echo $si0|cut -c1` && [ $sum4_1 -eq 0 ] && echo "This is not ip address" && exit || si=`echo $si0 `

if [ $si -ge 0 -a $si -lt 256 ] &>/dev/null;then
echo "This is ip address"
else
echo "This is not ip address"
fi
else
echo "This is not ip address"
fi
else
echo "This is not ip address"
fi
else
echo "This is not ip address"
fi

请输入要检测的IP地址:192.168.0.199
This is ip address
请输入要检测的IP地址:95.0.0.1
This is ip address
请输入要检测的IP地址:24.243.2345.1
This is not ip address
请输入要检测的IP地址:192.a1.123.0
This is not ip address
请输入要检测的IP地址:1a2.1.1.0
This is not ip address
请输入要检测的IP地址:01.1.1.1
This is not ip address
请输入要检测的IP地址:123
This is not ip address


阅读全文
0 0