2010-08-30 6 views
2

следующего вопроса актуально для КШ сценариясценария оболочки + вычислить IP-сеть с помощью сценария оболочки

как вычислить IP-сети в соответствии с NETMASK & IP Адресной

если есть некоторые готов скрипт, чтобы вычислить NETWORK IP-

, например

NETMASK=255.255.255.0 
    IP=172.18.20.10 


    then NETWORK IP should be 172.18.20.0 

Lidia

ответ

2

Дайте это попробовать:

#!/bin/ksh 
saveIFS=$IFS 
IFS="." 
ip=($1) 
mask=($2) 
for i in {0..3} 
do 
    ((result[i] = ip[i] & mask[i])) 
done 
echo "${result[*]}" 
IFS=$saveIFS 

Пример:

$ ./netip.ksh 172.18.20.10 255.255.255.0 
172.18.20.0 
+0

Деннис, вы проверить этот скрипт? , Я должен быть уверен, что этот скрипт был протестирован, потому что мне нужно использовать его в критических системах. – lidia

+1

@lidia: Конечно, да, но вы тоже должны это сделать. * Предостережение emptor * - всегда. Одно очевидное: он не подтверждает ввод. Например, вы можете ввести IP-адрес или маску с октетами больше 255 или более или менее четырех октетов или с нечисловыми символами. –

+0

Также будет работать в Bash. –

Смежные вопросы