route -n | perl -ne '$ANY="0.0.0.0"; /^$ANY/ and split /\s+/ and print "Gateway to the World: ",($_[1]!=$ANY)?$_[1]:(`ip address show $_[$#_]`=~/peer ([0-9\.]+)/ and $1),", via $_[$#_].\n"'


Команда route -n выводит информацию о текущей маршрутизации сети. Этот вывод передается через пайп ‘|’, в скрипт Perl, который ищет строку с шлюзом по умолчанию (0.0.0.0). Затем скрипт проверяет, если этот шлюз не равен 0.0.0.0, то он выводит его адрес и интерфейс, через который он находится. В противном случае скрипт ищет адрес пира (remote IP) из вывода команды ip address show и выводит его вместе с интерфейсом.

Команда полезна для того, чтобы быстро найти адрес шлюза по умолчанию на Linux-системе, включая получение адреса при использовании PPP-подключений. Альтернативой может быть использование команды ip route show, которая также выводит информацию о маршрутах, однако для получения адреса шлюза по умолчанию потребуется дополнительная обработка вывода.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *