2016-11-14 7 views
0

Я ищу способ получения IP-адреса домена, запрошенного командой wget, когда команда завершилась с ошибкой.Как получить IP-адрес домена, запрошенного с помощью wget?

Я не могу использовать команду ping для получения IP-адреса, потому что адрес может измениться после завершения команды wget.

Я хотел бы выполнить это в сценарии оболочки.

ответ

1

Когда wget не работает, он завершается с ненулевым статусом выхода, а ошибки записываются в стандартный дескриптор ошибки (2).

Таким образом, вы можете проверить код выхода ($? переменных), и разобрать строки, написанные для стандартной ошибки:

url='http://stackoverflow.com/users/edit/1646322' 

output=$(wget "$url" 2>&1) 
if [[ $? -ne 0 ]]; then 
    printf '%s' "$output" | \ 
    perl -ne '/^Connecting to .*\|([^\|]+)\|/ and print $1' 
fi 

Пример вывод

151.101.129.69