Если я запускаю /sbin/ifconfig eth0
я получаю следующий вывод:
Link encap:Ethernet HWaddr <address hidden for privacy>
inet addr:<address hidden for privacy> Bcast:<address hidden for privacy> Mask:255.255.255.0
inet6 addr: <address hidden for privacy> Scope:Link
inet6 addr: <address hidden for privacy> Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5891 errors:0 dropped:0 overruns:0 frame:0
TX packets:4933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23922030 (22.8 MiB) TX bytes:455152 (444.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Как я могу получить IPv6-адрес, где область является глобальной?
Пока, если я сделаю:
/sbin/ifconfig eth0 | awk '/inet6 / { print $3 }'
Я получаю оба адреса (из областей "ссылка" И "глобальный"), но я хочу только область действия для "Глобальный"
Кроме того, это кажется очень грязным способом получить его, так как я полагаюсь на вывод ifconfig данных в определенном порядке / формате. Я бы предпочел использовать команды, чтобы получить именно то, что я хочу.