Как получить логическое имя 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}"