这篇文章主要介绍了Shell正则表达式验证IP地址,本文给出了多个方法,并分别给出实现代码,需要的朋友可以参考下AcEHTML5中文学习网 - HTML5先行者学习网
本机多个IPAcEHTML5中文学习网 - HTML5先行者学习网
代码如下:AcEHTML5中文学习网 - HTML5先行者学习网
ifconfig | awk '/inet/{print $2}' | awk -F: '{print $2}'AcEHTML5中文学习网 - HTML5先行者学习网
首先,先用这个来着AcEHTML5中文学习网 - HTML5先行者学习网
代码如下:AcEHTML5中文学习网 - HTML5先行者学习网
CheckIPAddress()AcEHTML5中文学习网 - HTML5先行者学习网
{AcEHTML5中文学习网 - HTML5先行者学习网
echo $1 > /tmp/tmpserveripAcEHTML5中文学习网 - HTML5先行者学习网
echo $1 |grep "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" > /dev/nullAcEHTML5中文学习网 - HTML5先行者学习网
if [ $? = 1 ]; thenAcEHTML5中文学习网 - HTML5先行者学习网
return 1AcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
a=$(cut -d. -f1 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
b=$(cut -d. -f2 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
c=$(cut -d. -f3 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
d=$(cut -d. -f4 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
for loop in $a $b $c $dAcEHTML5中文学习网 - HTML5先行者学习网
doAcEHTML5中文学习网 - HTML5先行者学习网
if [ $loop -ge 255 ] || [ $loop -le 0 ]; thenAcEHTML5中文学习网 - HTML5先行者学习网
return 2AcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
doneAcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
return 0AcEHTML5中文学习网 - HTML5先行者学习网
}AcEHTML5中文学习网 - HTML5先行者学习网
最初的时候,参考过下面的这些AcEHTML5中文学习网 - HTML5先行者学习网
代码如下:AcEHTML5中文学习网 - HTML5先行者学习网
grep "^([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).$"AcEHTML5中文学习网 - HTML5先行者学习网
输入ip,检查其是否满足的ip书写规范,即不能大于255,不能有字母,和其他标点,参考网上的,自己搞了个如下,做个标记!@AcEHTML5中文学习网 - HTML5先行者学习网
代码如下:AcEHTML5中文学习网 - HTML5先行者学习网
echo -n 'Enter the Server-ip:'AcEHTML5中文学习网 - HTML5先行者学习网
read BISSipAcEHTML5中文学习网 - HTML5先行者学习网
echo $BISSip > /tmp/tmpserveripAcEHTML5中文学习网 - HTML5先行者学习网
echo $BISSip|grep "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" > /dev/nullAcEHTML5中文学习网 - HTML5先行者学习网
num=$?AcEHTML5中文学习网 - HTML5先行者学习网
if [ $num = 1 ]AcEHTML5中文学习网 - HTML5先行者学习网
thenAcEHTML5中文学习网 - HTML5先行者学习网
echo error ip,please enter correctAcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
{AcEHTML5中文学习网 - HTML5先行者学习网
a=$(cut -d. -f1 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
b=$(cut -d. -f2 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
c=$(cut -d. -f3 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
d=$(cut -d. -f4 /tmp/tmpserverip)AcEHTML5中文学习网 - HTML5先行者学习网
{AcEHTML5中文学习网 - HTML5先行者学习网
if [ $a -ge 255 ]||[ $a -le 0 ]AcEHTML5中文学习网 - HTML5先行者学习网
thenAcEHTML5中文学习网 - HTML5先行者学习网
echo a:error ipAcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
echo 1 > /tmp/jackAcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
}AcEHTML5中文学习网 - HTML5先行者学习网
{AcEHTML5中文学习网 - HTML5先行者学习网
if [ $b -ge 255 ]||[ $b -lt 0 ]AcEHTML5中文学习网 - HTML5先行者学习网
thenAcEHTML5中文学习网 - HTML5先行者学习网
echo b:error ipAcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
echo 1 >>/tmp/jackAcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
}AcEHTML5中文学习网 - HTML5先行者学习网
{ if [ $c -ge 255 ]||[ $c -lt 0 ]AcEHTML5中文学习网 - HTML5先行者学习网
thenAcEHTML5中文学习网 - HTML5先行者学习网
echo c:error ipAcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
echo 1 >>/tmp/jackAcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
}AcEHTML5中文学习网 - HTML5先行者学习网
{ if [ $d -ge 255 ]||[ $d -le 0 ]AcEHTML5中文学习网 - HTML5先行者学习网
thenAcEHTML5中文学习网 - HTML5先行者学习网
echo d:error ipAcEHTML5中文学习网 - HTML5先行者学习网
elseAcEHTML5中文学习网 - HTML5先行者学习网
echo 1 >> /tmp/jackAcEHTML5中文学习网 - HTML5先行者学习网
fiAcEHTML5中文学习网 - HTML5先行者学习网
}AcEHTML5中文学习网 - HTML5先行者学习网