教你如何用 Linux Shell脚本判断IP是否合法(多种方法)
最新:
达内新课程“网络运维”免费火热开讲,点击文末“
阅读原文
”快速免费抢听新课!
来自 | 李振良的技术博客
链接 | http://t.cn/RQEqmBE
从运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP、邮件地址等。那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所参考。
思路:IP由四位数字组成,以点分割,每个字段不能大于255,必须符合这种格式
方法1:
#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
check_ip
() { IP=$1
VALID_CHECK=$(echo
$IP
|awk -F."$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}"
)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
192.168
.1.1
check_ip
256.1
.1.1
方法2:
#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
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.-f
1) FIELD2=$(echo
$IP
|cut -d.-f
2) FIELD3=$(echo
$IP
|cut -d.-f
3) FIELD4=$(echo
$IP
|cut -d.-f
4)if
[$FIELD1
-le255
-a
$FIELD2
-le255
-a
$FIELD3
-le255
-a
$FIELD4
-le255
];then
echo
"IP
$IP
available."else
echo
"IP
$IP
not available!"fi
else
echo
"IP format error!"
fi
}# Example
192.168
.1.1
check_ip
256.1
.1.1
加个循环,如果错误则重新输入,直到正确:
#!/bin/bash
# blog: http://lizhenliang.blog.51cto.com
check_ip
() { local IP=$1
VALID_CHECK=$(echo
$IP
|awk -F."$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}"
)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运维工程师,甚至更高!可以说网络工程师是企业中必不可少的人才,也是需求量最大,分布最广的人才!好消息来啦! 达内专为零基础童鞋打造的第一款低门槛 入门
只要想学习,任何人都能轻松入
门!
网络运维工程
免费训练营火热来袭啦,
5天课程免费听
,
网络工程技术干货,行业发展,前景动态等等,通通免费分享,寻找属于你的努力方向,点击文末“ 阅读原文
?
训练营免费课程详情
时间 ▽
1月25日 -12月31日 (为期5天免费听)
地点 ▽
全国达内各教学中心
▽
课程内容
一、网工行业价值、发展前景:
1.什么是网络工程;
2.网络工程对个人和企业的价值;
3.网络工程就业岗位;
4.网络工程的行业薪资水平。
二、虚拟化技术:
1. 什么是虚拟化;
2. 安装VMware Workstation;
3. 创建及管理虚拟机;
4.使用LiveCD启动深度Linux系统。
三、Windows一日畅游:
1.计算机、操作系统介绍;
2.使用虚拟计算机;
3.Windows安装及使用。
四、Windows双机互连:
1.“计算机-网络”拓扑类型;
2.网线介绍、线材分类;
3.Windows网络配置、双机互连。
五、Linux一日畅游:
1.计算机、操作系统介绍;
2.使用虚拟计算机;
3.CentOS Linux安装及使用。
报名方式 ▽
点击“
阅读原文
”或者
后台留言“
姓名+联系方式+所在地城市
"报名
适合人群 ▽
1、没有任何经验,并且希望从事网络工程行业的人群;
2、应届毕业生、实习生;
3、工作遇到瓶颈期的在职人员。
4、学软件开发或运维课程吃力的童鞋。
本次免费训练营将开放中心教室供大家学习,座位有限,先报先得。
网络运维工程
1月免费训练营课程由行业大牛亲自免费分享、授课,全程免费
,点击文末“阅读
原文
”或长按下方二维码
即可报名,达内技术大牛手把手教你从零开始学习网络工程,进阶IT行业!▼
名额有限,火速抢报
给想改变的你一个免费尝试的机会
机会永远都是留给有准备的人!
申明:内容来源于网络,侵删。
阅读原文
点击“
- 肝脏不好怎么办?教你养肝的4种方法,千万不要错过!
- 教你省钱的阳台蔬菜种植方法,简单方便,邻居看了都忍不住夸!
- 过年了,教你2分钟快速泡发木耳、香菇、腐竹等,简单实用!
- 绝地求生:职业老司机教你练枪法,大吉大利轻松吃鸡
- 减肥瑜伽 瑜伽教你如何进行局部减肥
- 偌大的一个荣国府,探春是如何用自己的方式关爱生母赵姨娘的?
- 离婚人士的5点忠告,教你避开婚姻“陷阱”
- 买了保险,教你四招管理保单的诀窍
- 没有人脉怎么做保险?1个技巧教你如何积攒人脉签单!
- 教你做红烧黄花鱼,酱汁浓郁,营养美味,招待亲朋倍儿有面!