LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2139|回复: 12

怎样判断IP地址啊

[复制链接]
发表于 2005-7-14 16:27:27 | 显示全部楼层 |阅读模式
怎样判断IP地址啊!
小弟学艺不精还望见谅
发表于 2005-7-14 16:28:53 | 显示全部楼层
以前有过讨论的,置顶的索引里不知有没有。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 16:34:20 | 显示全部楼层
好的谢谢,我先找一下.
知道的达人告诉一声
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 16:53:27 | 显示全部楼层
找到了这个[0-9]*.[0-9]*.[0-9]*.[0-9]*
回复 支持 反对

使用道具 举报

发表于 2005-7-14 16:59:19 | 显示全部楼层
这个不对的,比如999.999.999.999不是有效的ip地址。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 17:07:53 | 显示全部楼层
[php]#!/bin/sh
echo -n "Input:"
read ip
if [ $ip == [0-2]*.[0-2]*.[0-2]*.[0-2]*];then
echo "ok"
else
echo "sorry"
fi
[/php]
暂且不管是否合法IP.先能判断就可以了.
判断合法IP只是正则表达式的问题
帮我看一下这个IF语句哪出问题了
回复 支持 反对

使用道具 举报

发表于 2005-7-14 17:31:30 | 显示全部楼层
应该是:

  1. #!/bin/sh
  2. echo -n "Input:"
  3. read ip
  4. if echo "$ip" | grep -q "[0-2]*.[0-2]*.[0-2]*.[0-2]*"; then
  5. echo "ok"
  6. else
  7. echo "sorry"
  8. fi
复制代码


不过你的ip匹配的正则表达还是大有问题
回复 支持 反对

使用道具 举报

发表于 2005-7-14 17:32:25 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 17:33:27 | 显示全部楼层
[root@Yuri wsct]# sh pd.sh
Input:1.1.1.1
ok
[root@Yuri wsct]# sh pd.sh
Input:a.b.a.a
ok
[root@Yuri wsct]#
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 17:35:51 | 显示全部楼层
我是想用if判断是否是IP.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表