Как получить логическое имя NIC-карты по IP-адресу, связанному с ней?

Я работаю над сценарием оболочки, который должен знать логическое имя (eth0, eth1 и т. Д.), Связанное с данным ip. Текущая процедура, которую я использую, состоит в том, чтобы проанализировать выходные данные ifconfig с использованием фильтров и получить карту NIC, связанную с данным IP. Мне было интересно, существует ли более простой способ или прямая конвейерная команда linux, чтобы получить вышеупомянутые детали?

1 ответ

Решение

Возьми это:

#!/bin/sh
ip=192.168.1.10
iface=$(ip addr | grep $ip | awk '{print $NF}')
echo "Iface is: ${iface}"
Другие вопросы по тегам