Я пишу bash на сервере Linux, и есть одна концепция, которую я пытаюсь понять.
Могу ли я узнать, указывает ли оно на текущий сервер, учитывая доменное имя? Помните, что у сервера может быть несколько IP-адресов.
Мой текущий план состоит в том, чтобы зациклить все IP-адреса из команды «ip addr» и посмотреть, вернет ли «host example.com» один из них.
Есть идеи получше?
Вам не нужно перебирать IP-адреса, которые вы можете просто использовать ip addr
в котором перечислены все настроенные адреса для системы и grep для адреса, который host example.com
возвращается, так что
ip addr | grep -q $(host -t A example.com | awk '{print $NF}')
вернет 0 в $? если IP-адрес, возвращаемый хостом, совпадает. Вам также необходимо проверить адреса IPv6, как указано выше
ip addr | grep -q $(host -t AAAA example.com | awk '{print $NF}'
вернет 0 в $? если совпадает адрес IPv6 для example.com.