У меня есть следующий скрипт из некоторых источников в сети, который должен выполнить команду 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?

Просьба уточнить.

0