[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