Извлекайте ip, маску и шлюз сетевого интерфейса отдельно

Я знаю что команда ifconfig даст вам IP, маску и шлюз данного сетевого интерфейса. Я хочу "программно" извлечь каждый из этих параметров отдельно. На данный момент лучшее решение, которое я могу придумать, - это выполнить синтаксический анализ, используя grep,

Здесь ifconfig флаги для выделения ip, маски или шлюза? Существуют ли другие команды *nix, которые извлекают только один параметр данного сетевого интерфейса?

1 ответ

Решение

Тезисы не очень сложные, но, кажется, работают по крайней мере:

для облигации 0:

Получить IP

ifconfig | awk '/bond0/ { getline; печать}' | awk '{print $2}' | awk 'BEGIN {FS=":"}; {print $2}'

Получить адрес трансляции:

ifconfig | awk '/bond0/ { getline; печать}' | awk '{print $3}' | awk 'BEGIN {FS=":"}; {print $2}'

Получить маску:

ifconfig | awk '/bond0/ { getline; печать}' | awk '{print $4}' | awk 'BEGIN {FS=":"}; {print $2}'

и для ворот:

маршрут | awk '/ default/ { print $2}'

уверен, что кто-то получит что-то более простое или прямолинейное.

Надеюсь это поможет.

Другие вопросы по тегам