Realizar excavación en dos listas

Realizar excavación en dos listas

Necesito ejecutar una excavación en los dominios y los alias de estos dominios, por lo que el resultado será:
SI el dominio (+ no tiene un alias) y está usando mis servidores de nombres -> luego imprima
SI tanto el dominio como el alias están usando mi nombre Servidores -> luego imprima
Todo lo demás no (incluso cuando el dominio usa mis servidores de nombres y mi alias no). Tengo dominios almacenados en MySQL y ahí está el script en el que estoy trabajando:

for domain in `echo "$QUERY1" | mysql -N -s -u $USER -p$PASS $DBNAME -h$HOST | awk '{print $1}'; do
    lookup=$(dig $domain ns +short)
    if [[ "$lookup" =~ 'XXX' ]]; then
        our=1
        break
    else
        our=0
        break
    fi
done

En esta CONSULTA estoy enumerando todo (tanto dominios como alias). Por supuesto, puedo crear otra consulta para enumerar solo alias o solo dominios. Parecería que necesitaría agrupar todos los alias del dominio y recorrer la lista de nombre de dominio + alias. Si alguno de los dos no usa NS, tendría que configurar la variable que dicta la impresión del dominio. Déjame saber cuáles son tus ideas y comparte la solución, si es posible.

Respuesta1

Considere la siguiente alternativa al script en el que está trabajando:

mysql --silent --skip-column-names \
    --user="$USER" --password="$PASSWORD" \
    --host="$HOST" --database="$DBNAME" \
    --execute="$QUERY1" |
awk '{ printf("%s ns +short\n", $1) }' |
if dig -f - | grep -q "XXX"; then
    our=1
else
    our=0
fi

Prefiero usar las opciones largas en los scripts ya que se autodocumentan.

La consulta $QUERY1se puede diseñar de tal manera que awkno sea necesaria:

SELECT CONCAT(column, " ns +short") FROM ...

He leído digsus consultas desde la entrada estándar de la tubería proveniente awky grepnos ayuda a encontrarla XXXen la salida.

No se requieren bucles complicados.

Obviamente, no hace lo que quieres hacer al final, sólo lo que haces en este momento, pero como no sé mucho sobre búsquedas de DNS, lo dejaré así.

información relacionada