[Sysadmins] etcnet

Andrew Kornilov =?iso-8859-1?q?akornilov_=CE=C1_gmail=2Ecom?=
Чт Сен 13 01:05:11 MSD 2007


Anton Gorlov wrote:
> /etc/net/scripts/config-ipv4: eval: line 13:
> `IPV4ADDRESS=(<BROADCAST,MULTICAST,UP,LOWER_UP>'
> /etc/net/scripts/config-ipv4: eval: line 14: syntax error near
> unexpected token `)'
> /etc/net/scripts/config-ipv4: eval: line 14: `91.144.xx.xx)'
В общем, нашел проблему:
26: inet на eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
    inet 91.144.144.81/28 scope global inet
Ну а адрес берется вот таким кривеньким грепом, это единственное, что
удалось выжать в результате разных экспериментов:

для ipv4:
printf "$($IP -4 addr show dev $NAME 2>/dev/null|grep  -ose
"\binet\b.*\b"|cut -f2 -d" "|cut -f1 -d"/")"
для ipv6:
printf "$($IP -6 addr show dev $NAME 2>/dev/null|grep  -ose
"\binet6\b.*\b"|cut -f2 -d" "|cut -f1 -d"/")"

Если кто-то предложить более корректный способ получения адреса (-ов)
интерфейса от /sbin/ip, буду благодарен. Очень жаль, что нет способа
достучаться из шелла до функций libc/ядра/что_там_еще, чтобы через
описанный API получить нужные данные. Приходится городить такие костыли.

P.S. Или я ошибаюсь и способ есть?



Подробная информация о списке рассылки Sysadmins