Извлекайте 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}'
уверен, что кто-то получит что-то более простое или прямолинейное.
Надеюсь это поможет.