2013-06-25 81 views
0

我正在编写一个shell脚本程序,其中我从用户处获取IP地址或系统名称,任何人都可以告诉我如何检查给定的IP地址或系统名是有效。我认为ping不起作用,我尝试了但我不能出来,所以还有其他一些方法。如何检查变量是否包含有效的IP地址

+0

请选中该链接http://stackoverflow.com/questions/3575128/shell- script-short-syntax-to-verify-valid-ip –

回答

1

试试这个,希望无线

#! /bin/sh 

valid_ip() 
{ 
    # Check if IP format is num.num.num.num/num between 0..255 
    if [ "$(sipcalc $1 | grep ERR)" != "" ]; then 
    echo "incorrect" 
    return 1 
    fi 
    echo "correct" 
    return 0 
} 
+0

+1不知道sipcalc是否存在。但需要额外的安装。 – anishsane

+0

但是如果用户提供服务器名称而不是IP,该怎么办。我想同时检查这两个 –

+0

这个检查是只针对ip,而不是针对服务器名称。 –

0

我首先想到的是使用 “主机”

host 192.168.1.dog 
Host 192.168.1.dog not found: 3(NXDOMAIN) 

echo $? 
1 

host happy 
happy.local has address 192.168.1.25 

echo $? 
0 

host 192.168.1.25 
25.1.168.192.in-addr.arpa domain name pointer Happy.local. 

echo $? 
0 
相关问题