Я знаю что команда ifconfig
предоставит вам IP, маску и шлюз данного сетевого интерфейса. Я хочу «программно» извлечь каждый из этих параметров отдельно. На данный момент лучшее решение, которое я могу придумать, - это выполнить синтаксический анализ с помощью grep
.
Здесь ifconfig
флаги для выделения ip, маски или шлюза? Существуют ли другие команды * nix, которые будут извлекать только один параметр данного сетевого интерфейса?
Тезисы не очень продуманы, но, похоже, по крайней мере работают:
для bond0:
Получите IP
ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 2}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '
Получите широковещательный адрес:
ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 3}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '
Получите маску сети:
ifconfig | awk '/ bond0 / {getline; print} '| awk '{print $ 4}' | awk 'BEGIN {FS = ":"}; {печать $ 2} '
и для шлюза:
маршрут | awk '/ по умолчанию / {печать $ 2}'
уверен, что кто-то доберется туда с чем-то более простым или понятным.
Надеюсь это поможет.