Как получить локальные и публичные IP-адреса с аргументом интерфейса либо без использования функции оболочки для Linux и MacOsX

MyIps(){ echo -e "local:\n$(ifconfig $1 | grep -oP 'inet (add?r:)?\K(\d{1,3}\.){3}\d{1,3}')\n\npublic:\n$(curl -s sputnick-area.net/ip)"; }


Функция «myips» возвращает локальные и публичные IP-адреса. Она принимает аргумент интерфейса (например, «eth0») для вывода только локального IP-адреса этого интерфейса. Если аргумент интерфейса не указан, команда выводит все локальные IP-адреса.

Для локальных IP-адресов команда использует команду «ifconfig» с аргументом «$1» (если указан), а затем применяет фильтр «grep» для поиска строк, содержащих подстроку «inet» и захвата IP-адреса с помощью регулярного выражения.

Для получения публичного IP-адреса команда использует команду «curl» с аргументом «-s sputnick-area.net/ip», которая возвращает текущий публичный IP-адрес, извлекая его из веб-страницы «sputnick-area.net/ip».

Альтернативным способом получить локальные и публичные IP-адреса без использования этой функции может быть использование команд, таких как «ifconfig» для локальных IP-адресов и «curl» для публичного IP-адреса.

Ответить

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