2013-06-25 84 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 
相關問題