shell脚本--判断输入的ip是否正确

#!/bin/bash

#It‘s written by caibingsen

#!/bin/bash

#It‘s written by caibingsen

#date:2016-03-15

#while设置成死循环,在输入的ip不符合条件时,重新输入

while :

do

read -p "请输入要判断的ip地址:" ip

#判断输入的ip地址是否仅由数字和点组成,并将值赋给m。

#判断输入的ip地址的小数点的个数,复制给n

m=`echo $ip |sed ‘s/[0-9.]//g‘`

n=`echo $ip |sed ‘s/[0-9]//g‘|wc -c`

#截取ip地址的四个数字的部分,并分别复制。

n1=`echo $ip |cut -d‘.‘ -f1`

n2=`echo $ip |cut -d‘.‘ -f2`

n3=`echo $ip |cut -d‘.‘ -f3`

n4=`echo $ip |cut -d‘.‘ -f4`

#第一个if通过m和n来判断输入的ip是否符合要求

if [ -z $m ] && [ $n -eq 4 ] && [ -n $n1 ] && [ -n $n2 ] && [ -n $n3 ] && [ -n $n4 ];then

#第二个if通过n1到n4来判断输入的范围是否符合要求。

if [ $n1 -ge 0 ] && [ $n1 -le 255 ] && [ $n2 -ge 0 ] && [ $n2 -le 255 ] && [ $n3 -ge 0 ] && [ $n3 -le 255 ] && [ $n4 -ge 0 ] && [ $n4 -le 255 ]

then

echo "ip正确"

exit

else

echo "你输入的ip错误,请重新输入"

fi

else

echo "你输入的ip错误,请重新输入"

fi

done

时间: 2024-08-13 02:50:09

shell脚本--判断输入的ip是否正确的相关文章

判断输入的IP是否正确

编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1<n1<255, 0<n2<255, 0<n3<255, 0<n4<255). #!/bin/bash check_ip(){ if echo $1 | egrep -q "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$";then a=`echo $1|awk -F. '{print $1}'` b=

131. 利用脚本判断输入参数个数

利用脚本判断输入参数个数,具体题目我记不起来了. tar命令 压缩与解压缩 cpio 在Unix上的应用方法 tail滚屏浏览命令 ln 建立软连接 format的应用 ifconfig配置ip地址 cp文件夹 覆盖文件 crontab 的应用 对信息服务的理解 原文地址:https://blog.51cto.com/13823798/2408135

Linux shell脚本判断服务器网络是否可以上网

Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需要有个函数来判断服务器网络状态 我们可以通过curl来访问 www.baidu.com,从而判断服务器网络状态是否可以畅通的 网络状态判断 #!/bin/bash #检测网络链接畅通 function network() { #超时时间 local timeout=1 #目标网站 local target=www.baidu.com #获取响应状态码 local

shell脚本函数判断输入的IP地址是否符合规则

#判断IP是否符合标准规则 function judge_ip(){         #这里local $1出错,用2>/dev/null屏蔽掉错误,暂未发现影响输出结果         local $1 2>/dev/null         TMP_TXT=/tmp/iptmp.txt         echo $1 > ${TMP_TXT}         IPADDR=`grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' ${TMP_TXT}`     

Shell脚本判断IP是否合法性

运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP.邮件地址等.那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所参考. 思路:IP由四位数字组成,以点分割,每个字段不能大于255,必须符合这种格式 方法1: function check_ip() {     IP=$1     VALID_CHECK=$(echo $IP|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4

Linux shell脚本 判断用户输入的文件类型

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 编写一个脚本,从键盘输入一个文件,判断它是否存在,如果存在就判断它是什么类型的文件:并用对应的颜色输出 脚本如下: #!/bin/bash #function:test file type

Linux Shell脚本之自动修改IP

作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名.ip信息.网关等配置.修改成特定的主机名在维护和管理方面也比较方便.如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask gateway scripts #wugk 2012-12-17 cat << EOF ++++++++自动修改ip和主机名

shell脚本判断语句和循环语句

if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; then echo "你输入的不是一个数字" exit 1fi case判断语句 #!/bin/bashcat <<EOF########################################### 欢迎学习shell编程 #######################

3月11日 判断输入的年月日是否正确

//判断年月日是否正确: for (; ; ) { Console.Write("请输入年份:"); int a = int.Parse(Console.ReadLine()); if (a >= 0 && a <= 9999) { Console.Write("请输入月份:"); for (; ; ) { int b = int.Parse(Console.ReadLine()); if (b <= 12 && b