[Sysadmins] Куда пропал ipcalc
Вадим Илларионов
=?iso-8859-1?q?master_=CE=C1_usib=2Eirkps=2Eru?=
Чт Июл 12 13:05:03 MSD 2007
От Andrey Rahmatullin поступило следующее:
> On Fri, Jul 06, 2007 at 02:35:55PM +0900, Вадим Илларионов wrote:
>> Хм. А не место ли ему в net-tools?
> Или ещё где-нибудь.
>> Ведь net-scripts & etcnet вместе генетически не живут.
> Ага.
Вопрос снят. Удалось обойтись средствами шелла - спасибо коллеге.
Получилась такая небольшенькая функция:
get_ipv4_nets(){
local NAME=${1:?missing 1st argument to $FUNCNAME}
# FIXME should we parse it by more complex regexp?
for ADDR in $($IP -4 addr show dev $NAME 2>/dev/null | \
grep -ose "\binet\b.*\b" | cut -d" " -f2); do
echo "$ADDR" | grep -q "/" && {
local IFS=$'./'
SHIFT=24
addr=0
for i in $ADDR; do
[ $SHIFT -lt 0 ] &&
MASK=$((32 - i)) ||
((addr |= (i << SHIFT)))
((SHIFT -= 8))
done
((addr &= 4294967295 >> MASK << MASK))
echo "$((addr >> 24)).$(((addr >> 16) & 255)).$(((addr >> 8) &
255)).$((addr & 255))"
}
done
}
________________________
С уважением,
Вадим Илларионов
системный администратор
Усолье-Сибирский почтамт
JID: см. <mailto:>
UIN: 7899517
Телефоны:
Мобильный +7 904 658-4154
Рабочий +7 39543 444-00
Подробная информация о списке рассылки Sysadmins