2013-06-25 3 views
0

Я пишу программу сценария оболочки, в которой я беру IP-адрес или системное имя от пользователя, может кто-нибудь сказать мне, как проверить, указан ли данный IP-адрес или системное имя действительный. Я думаю, что ping не будет работать, я попробовал, но я не могу выйти из этого, так есть какой-то другой метод.Как проверить, содержит ли переменная правильный IP-адрес

+0

PLS проверить эту ссылку http://stackoverflow.com/questions/3575128/shell- script-short-syntax-to-verify-valid-ip –

ответ

1

Попробуйте это, надеюсь, что это Wi

#! /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 
Смежные вопросы