ip route get 8.8.8.8 2>/dev/null|grep -Eo 'src [0-9.]+'|grep -Eo '[0-9.]+'
Данная команда используется для получения IP-адреса устройства, имеющего несколько интерфейсов. Она выполняет следующие действия:
1. ip route get 8.8.8.8 2>/dev/null
— получает информацию о маршруте до указанного IP-адреса (в данном случае 8.8.8.8). 2>/dev/null используется для перенаправления сообщений об ошибках в никуда, чтобы они не отображались.
2. grep -Eo 'src [0-9.]+'
— ищет строку, содержащую «src» (source), за которой следует IP-адрес. -E означает использование расширенного регулярного выражения, -o означает вывод только совпадений.
3. grep -Eo '[0-9.]+'
— извлекает только IP-адрес из найденной строки.
Эта команда полезна, когда нужно узнать IP-адрес текущего устройства, особенно если у него есть несколько интерфейсов. Альтернативой может быть использование команды ifconfig или ip addr show, но они могут выводить больше информации, чем нужно. Аргументы команды — IP-адрес, до которого ищется маршрут.