#!/bin/bash
#作者:魏波
#时间:2017.02.04function check_ip(){IP=$1VALID_CHECK=$(echo $IP|awk -F. '$1<=255 && $2<=255 && $3<=255 && $4<=255 {print "yes"}')echo $VALID_CHECKif echo $IP|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; thenif [[ $VALID_CHECK == "yes" ]]; thenecho "$IP available."elseecho "$IP not available!"fielseecho "$IP Format error!"fi
}
check_ip 192.168.1.1
check_ip 256.1.1.1
check_ip 256.1.1.2222

说明:

(1)shell脚本报错"[: =: unary operator expected"

如果if [[ $VALID_CHECK == "yes" ]]; then写成if [ $VALID_CHECK == "yes" ]; then
会报下面错误。因为如果变量VALID_CHEC值为空,那么就成了 [ = "yes"] ,
显然 [ 和 "yes" 不相等并且缺少了 [ 符号,所以报了这样的错误。当然不总是出错,
如果变量VALID_CHEC值不为空,程序就正常了,所以这样的错误还是很隐蔽的。

(2)grep规则表达式

^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-F和H-Z的一个字母开头,
紧跟rep的行。
x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。

备注:grep使用详见:https://www.cnblogs.com/htyj/p/10256612.html

shell实例第9讲:判断用户输入的是否为IP地址相关推荐

  1. shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大

    连续输入4个100以内的数字,统计和.乘.平均.最小和最大 #!/bin/bash #作者:魏波 #时间:2017.02.04COUNT=1 SUM=0 MIN=0 MAX=0 AVG_INT=0 A ...

  2. 【shell】Linux shell 之 判断用户输入的变量是否为数字

    本文内容:判断用户输入的参数是否为数字 在shell中如何进行计算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng s ...

  3. linux 输入是否为数字,【shell】Linux shell 之 判断用户输入的变量是否为数字

    本文内容:判断用户输入的参数是否为数字 在shell中如何进行计算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng s ...

  4. java 验证输入的是小数_java判断用户输入的是否至少含有N位小数的实例

    判断用户输入的是否至少含有N位小数. 1.当用户输入的是非数字时抛出异常,返回false. 2.当用户输入数字是,判断其数字是否至少含有N位小数,如果不含有,返回false. 3.当用户输入的数字的小 ...

  5. java判断键盘输入小数_java判断用户输入的是否至少含有N位小数的实例

    java判断用户输入的是否至少含有N位小数的实例 判断用户输入的是否至少含有N位小数. 1.当用户输入的是非数字时抛出异常,返回false. 2.当用户输入数字是,判断其数字是否至少含有N位小数,如果 ...

  6. 虚拟机Linux中判断用户输入的是 Yes 或 NO

    Linux中判断用户输入的是 Yes 或 NO #!/bin/bash # 判断用户输入的是 Yes 或 NO read -p "Are you sure?[y/n]:" sure ...

  7. 判断用户输入的日期是否为当前日期

    应用java.util.Calendar类实现,首先使用该类的getInstance()方法来获取系统当前时间的日历对象,再使用该对象中提供的方法获得当前时间 创建一个当前时间的Calendar对象 ...

  8. java中if判断季节_Java判断用户输入月份的季节

    Java判断用户输入月份的季节 发布于 2020-12-7| 复制链接 摘记: 要求: *  根据用户输入的月份来判断该月季节实现代码: ```java import java.util.Scanne ...

  9. java输入正确的信息_判断用户输入的信息是否正确

    package com.Embed.util; import java.sql.Connection; import java.sql.DriverManager; import java.text. ...

最新文章

  1. A__Java为数据结构提供的实用包的运用(减少代码量)---更新中ing
  2. 特征工程与特征选择架构性好文
  3. NVIDIA GPU 架构梳理
  4. 排序算法之--桶排序(桶,像桶一样的排序,听起来很有趣哦0。0)
  5. ant如何形成时间轴和图库_如何让景观设计更具有逻辑性?
  6. spring事务 jdbc_Spring事务管理示例JDBC
  7. 漫谈GUI开发—各种平台UI开发概况
  8. 假短信截图在线生成器_10个超好玩的自动生成器
  9. 回复和评论功能的实现
  10. 【Unity Shader】(十) ------ UV动画原理及简易实现
  11. 无服务器搭建Artalk评论系统后端
  12. 计算机开机显示器闪,电脑开机后显示器闪烁怎么办
  13. c#FileStream文件读写可能会出现乱码
  14. 科大讯飞离线命令词识别
  15. java resolve_Java Path resolve()用法及代码示例
  16. MySQL 8 复制(四)——GTID与复制
  17. 各大语言之父,你认识几个?Python之父,头发最茂盛?
  18. ORA-22858 invalid alteration of datatype varchar2转化clob
  19. wwid、uuid、lun、multipath、hba、udev总结
  20. 汇编语言乘法和除法指令

热门文章

  1. Redis源码剖析(十二)--客户端和服务器
  2. Python练习_三级菜单
  3. python入门-直方图
  4. mode: 'history', 去掉路由地址的#
  5. 抓包工具Charles简单使用介绍(可抓取Android中app的请求)
  6. MySQL · 性能优化· InnoDB buffer pool flush策略漫谈
  7. 取得select框的text
  8. phpcms v9二次开发之模型类的应用(1)
  9. linux复盘:构架搭建lamp(安装)
  10. 如何解决div里面img图片下方有空白的问题?