Cea mai simplă verificare pentru a vedea dacă un fișier conține un anumit model este cea comună grep
utilitar de linie de comandă.
Cu steaguri și opțiuni corecte, puteți construi un script de bază care face ceva în conformitate cu următorul pseudo-cod:
# Defalcă elementele pe care le cauți
# în modele de expresie regulată de bază
# și stocați-le într-o matrice
MyRequiredEntries=("server de nume\s*1.1.2.2" "server de nume\s*3.3.4.4" "domeniu\s*example.com" "căutare\s.*abc\.com" "căutare\s.*abc\. net")
# Buclă peste elementele matricei
pentru MyEntry în „${MyRequiredEntries[@]}”
do
# utilizați codul de ieșire al grep -q pentru o logică suplimentară
grep -q "$MyEntry" /etc/resolv.conf
MyResult=$?
if [ $MyResult -eq 0 ] ; atunci
echo „fă ceva când rezolv.conf conține modelul $MyEntry”
altfel
echo „fă ceva când rezolv.conf NU conține modelul $MyEntry”
fi
Terminat
Care poate fi bineînțeles reglat în funcție de nevoile dumneavoastră.
După cum au comentat alții: mai degrabă decât să faci un joc de "Gaseste diferentele" poate doriți să faceți un pas înapoi și să vă gândiți de ce executați acest test și ce intenționați să faceți cu constatările dvs.
Dacă rezultatul final este să vă asigurați că toate serverele au configurația corectă, atunci de preferință începeți să le gestionați cu un sistem de management al configurației și evitați ca aceste diferențe să apară în viitor.
Și dacă pornirea unei soluții de gestionare a configurației centrale este încă o punte prea departe, mai degrabă decât testarea și apoi repararea manuală a setărilor: nu vă deranjați și aplicați direct setările corecte peste tot...
O notă secundară: când (unele dintre) sistemele dvs. sunt configurate cu DHCP, poate doriți să începeți cu împingerea setărilor corecte de acolo.