Самая простая проверка, чтобы увидеть, содержит ли файл определенный шаблон, выполняется с помощью общего grep
утилита командной строки.
С правильными флагами и параметрами вы можете создать базовый скрипт, который делает что-то вроде следующего псевдокода:
# Разбейте элементы, которые вы ищете
# в основных шаблонах регулярных выражений
# и сохранить их в массиве
MyRequiredEntries=("сервер имен\s*1.1.2.2" "сервер имен\s*3.3.4.4" "домен\s*example.com" "search\s.*abc\.com" "search\s.*abc\. сеть")
# Цикл по элементам массива
для MyEntry в "${MyRequiredEntries[@]}"
делать
# используйте код выхода команды grep -q для дальнейшей логики
grep -q "$MyEntry" /etc/resolv.conf
МойРезультат=$?
если [$MyResult -eq 0]; тогда
echo "сделайте что-нибудь, когда resolv.conf содержит шаблон $MyEntry"
еще
echo "сделайте что-нибудь, если resolv.conf НЕ содержит шаблон $MyEntry"
фи
сделано
Который, конечно, можно настроить в соответствии с вашими потребностями.
Как прокомментировали другие: вместо того, чтобы играть в «найди отличия» вы можете сделать шаг назад и подумать, почему вы проводите этот тест и что вы собираетесь делать с вашими результатами.
Если конечным результатом является обеспечение правильной конфигурации всех серверов, желательно начать управление ими с помощью системы управления конфигурацией и избежать подобных различий в будущем.
И если запуск решения для централизованного управления конфигурацией — это слишком далеко, а не тестирование, а затем ручное исправление настроек: не беспокойтесь и сразу применяйте правильные настройки везде...
Одно замечание: когда (некоторые из) ваших систем настроены на DHCP, вы можете начать с установки оттуда правильных настроек.