diff --git a/.bashrc b/.bashrc index 160d20b..2019abd 100644 --- a/.bashrc +++ b/.bashrc @@ -216,3 +216,21 @@ download-random-pypi-proj() cd /tmp/$TMP wget "$ARCHIVE_URL" } + +digns() +{ + local SOA="" + local name="$1" + + while [ -z "$SOA" ] + do + SOA="$(dig SOA "$name" | awk '/^[^;].*SOA/{print $1}')" + name="$(printf "%s" "$name" | sed 's/^[^.]\+\.//')" + if [[ -z "$SOA" ]] && ! [[ "$name" =~ \. ]] + then + printf "Cannot find SOA for %s.\n" "$1" >&2 + return 1 + fi + done + dig "@$(dig NS "$SOA" +short | head -n 1)" "$@" +}