![]() |
|
Программирование и разработка Обсуждение вопросов программирования |
![]() |
|
Опции темы | Опции просмотра |
|
![]() |
#1 |
Кот - обормот
|
Переписал в итоге все, вроде работает. Если проканает - напишу, как сделать, вдруг кому надо.
__________________
Use the downforce, Luke! |
![]() |
![]() |
![]() |
#2 |
пришелец
|
Сомневаюсь, что без напильника это заработает под линухом, как раз из-за нестандартного вывода ifconfig.
__________________
Use the Source, Luke! Последний раз редактировалось ΛLIEN. 23.05.2011 в 01:37. |
![]() |
![]() |
![]() |
#3 | |
Местный
|
Цитата:
но дело даже не в этом, вряд ли это кому-то может понадобиться еще ![]() |
|
![]() |
![]() |
![]() |
#4 |
Кот - обормот
|
Именно так. Слабо понимаю, нахрен это надо.
__________________
Use the downforce, Luke! |
![]() |
![]() |
![]() |
#5 |
Местный
|
|
![]() |
![]() |
![]() |
#6 |
Кот - обормот
|
Плохой пример, это разные вещи.
__________________
Use the downforce, Luke! |
![]() |
![]() |
![]() |
#7 |
Кот - обормот
|
В общем, сделал все заново так (вдруг кому интересно):
Код:
#!/bin/bash # Additional functions # Decimal to binary binary=0 decToBin(){ binary=`echo $1 | gawk -F. '{OFMT = "%.10g"; print $1*2^24+$2*2^16+$3*2^8+$4}'` } #Binary to decimal decimal=0.0.0.0 binToDec(){ decimal=`echo $1 | gawk '{ temp = $1; for (i = 1; i<=4; i++){ IP[i] = temp%2^8; temp = int(temp/2^8); } print IP[4]"."IP[3]"."IP[2]"."IP[1] }'` } # Part A Getting list of subnets and their masks. subnets=(` ifconfig -a | grep broadcast | gawk '{print $2}'`) count=${#subnets[*]} #Part B Updating ARP table i=0 while [ $i -lt $count ] do net=`netstat -rnv | gawk '$3 == "'${subnets[$i]}'" {print $1}' | grep -v 224 ` mask=` netstat -rnv | gawk '$3 == "'${subnets[$i]}'" {print $2}' | grep -v 240` decToBin $net net=$binary; decToBin $mask mask=$binary; comp=1; limit=`echo 2^32 - $mask - 1 | bc`; while [ $comp -lt $limit ] do ip=`echo $net + $comp | bc`; binToDec $ip; ping $decimal 1; if [ $? -eq 0 ] then rsh $decimal df -l; fi let "comp+=1"; done let "i+=1"; done
__________________
Use the downforce, Luke! Последний раз редактировалось TNT. 25.05.2011 в 15:05. |
![]() |
![]() |