Considere a seguinte alternativa ao script em que você está trabalhando:
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
Eu prefiro usar as opções longas em scripts, pois eles são auto-documentados.
A consulta em $QUERY1
pode ser criada de tal forma que o awk
não seja necessário:
SELECT CONCAT(column, " ns +short") FROM ...
Eu fiz dig
ler suas consultas da entrada padrão do canal vindo de awk
e o grep
nos ajuda a encontrar XXX
na saída.
Não é necessário um loop messy.
Obviamente, ele não faz o que você quer fazer no final, apenas o que você faz no momento, mas como eu não sei muito sobre as pesquisas de DNS, vou deixar por aqui.