判断输入的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=`echo $1|awk -F. ‘{print $2}‘`

c=`echo $1|awk -F. ‘{print $3}‘`

d=`echo $1|awk -F. ‘{print $4}‘`

if [ $a -le 1 -o $a -ge 255 ] || [ $b -le 0 -o $b -ge 255 ] || [ $c -le 0 -o $c -ge 255 ] || [ $d -le 0 -o $d -ge 255 ] ;then

echo "IP的规则是,n1.n2.n3.n4,其中1<n1<255, 0<n2<255, 0<n3<255, 0<n4<255 "

return 1

fi

else

echo "please enter an IP like "192.168.16.1""

return 2

fi

}

stat=1

while [ $stat -ne 0 ];do

read -p "please enter an IP:" ip

check_ip $ip

stat=`echo $?`

done

echo "The ip $ip is right!"

时间: 2025-01-02 19:03:59

判断输入的IP是否正确的相关文章

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.]//

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}`     

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

如何判断输入的邮箱是否正确

var btn = document.getElementById('btn'); var txt = document.getElementById('txt'); btn.onclick = function(){ var str = txt.value; var reg = /^[a-zA-Z0-9][email protected][a-z0-9]{2,5}\.[a-z]{2,3}(\.[a-z]{2,3})?$/; var result = reg.test(str); if(resu

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

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 条件语句日期练习 { class Program { static void Main(string[] args) { //用户输入年.月.日,判断用户输入的年月日是否正确 //用户输入年份 Console.Write("请输入年份(0-9999):"); int y = Convert.ToI

C语言的字符串转为OC中的字符串,控制台输入用户名和密码,判断输入的用户名是否是@“Frank”, 密码 是否是 @“lanou”, 如果用户名和密码都正确,则输出登录成功, 否则输出登录失败.

char name[20] = "";存储用户名 char code[20] = "";存储密码 printf("请输入用户名与密码"); scanf("%s%s", name, code); NSString *str1 = [NSString stringWithFormat:@"%s", name ]; NSString *str2 =[NSString stringWithFormat:@"

Shell判断输入是否有效IP和字母

1.需求目的 最近在研究ansible自动化工具,在主机表(/etc/ansible/hosts)添加管理节点信息时,几台到十几台还可以手动添加,到了百十台工作量就大了.于是想用脚本自动添加,减少工作量,刚开始想到for循环自动添加,但添加的IP.用户.密码,都不相同,实现起来比较困难,也没太多时间去研究,结果就用了手动交互输入. 用户信息表如下格式: # cat /etc/ansible/hosts 192.168.1.100   ansible_ssh_user=user  ansible_

Javascript 判断输入日期是否正确

JavaScript的Date对象有容错性,可将随意给定的日期的年月日自动生成正确的日期时间 //JavaScript中Date对象容错性 function dateCheck(){ var date = new Date(); date.setDate(date.getDate()+13); //date.setDate(date.getMonth()+1+10); //打印依然能输出正确的日期 console.log(date.getFullYear()+"年"+(date.get

华为OJ测试题——判断输入的字符串是不是一个有效的IP地址(附世上最全测试数据)

题目标题: 判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效的IP地址,false,无效的IP地址 约束 输入IP为XXX.XXX.XXX.XXX格式 字符串两端含有空格认为是合法IP 字符串中间含有空格认为是不合法IP 类似于 01.1.1.1, 1.02.3.4  IP子段以0开头为不合法IP 子段为单个0 认为是合法IP,0.0.