@Valeriu147

Как найти среди списка доменных имен, найти имя соответствущее его айпи и вывести это имя?

Добрый день, второй день мучаюсь с простой функцией, но что-то не выходит. У меня есть список серверов, точнее список А-записей. Мне нужно разрезолвить эти А-записи, найти айпишник соответствующий моему системному и вывести это имя в другую переменную.
Собственно, как-то так

#счетчик, начинаем с единицы, ничего не пишем
start=test
#вторая часть моего доменное имени
dns=com
#от какого по какое число у меня домены
for i in "${start}" {1..20}."$dns"; do
#вывести все это в файл
echo $i >> "/tmp/temp"
done

#смотрим этот файл
for ns in `cat /tmp/temp`; do
#тут-то и проблема, не могу понять, как лучше подобрать условие
if [[ `dig +short $ns=="192.168.110.1"` ]]; then
dig +short $ns
fi
done


Но вот, что-то у меня во втором цыкле не так, не могу составить правильно условие. Не подскажите, куда можно копнуть ?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 1
egor_nullptr
@egor_nullptr
#!/usr/bin/env bash

start=test
dns=com

for i in {1..20}; do
    ns=$start$i.$dns
    ip=`dig +short $ns`
    if [[ "$ip" == "10.0.0.1" ]]; then
        echo "$ns -> $ip"
    fi
done
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы