Может быть, вам не нужно повторять. В моем Debian 9 (только IPv4, я не уверен, насколько это актуально) я могу использовать это:
ip route get "$(host superuser.com | awk 'NR==1 ')" \ | grep -o "dev .* src [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"
где host
(из bind9-host
пакета) - конвертировать superuser.com
в его IP-адрес. Для обработки ошибок и т. Д. Вам необходимо деконструировать канал и построить скрипт с некоторой логикой вокруг его частей.
Пример вывода:
dev wlan0 src 192.168.1.2
Чтобы все повторить, загляните в /sys/class/net
:
cd /sys/class/net ls for interface in *; do printf "Doing something with %s\n" "$interface" done
Эти устройства не находятся под, /dev
хотя, по крайней мере, ни в одной из моих систем.