У меня есть следующий скрипт из некоторых источников в сети, который должен выполнить команду host
чтобы получить IP-адрес доменного имени в файле myfile.txt
. Сценарий:
#! /bin/bash
while read hostname; do
ip=`host $hostname`
if [ $? -eq 0 ]; then
echo $ip
else
echo "UNKNOWN"
fi
done < myfile.txt
1) Можете ли вы объяснить мне, как работает этот скрипт? Я не понимаю, что делает заявление if. Также вы можете объяснить это в целом?
2) Некоторые результаты выглядят так:
somesite.com has address 1.2.3.4 ;; connection timed out; no servers could be reached
Можете ли вы сказать мне, что за IP после has address
если сервер недоступен? команда host
пытается подключиться к серверу или просто получает свой IP из DNS?
Просьба уточнить.