X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=chost;h=a26529fee9efbeaf3a14632946d59d4e84d7bc8d;hp=616874151a0aa5c087c1c275198eb4134cbc530e;hb=HEAD;hpb=da61a304a10de72288782a9d872769fe44576f50 diff --git a/chost b/chost index 6168741..204637b 100755 --- a/chost +++ b/chost @@ -7,7 +7,17 @@ set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR host=$1 -addr=$(host $host | sed -rn 's/^\S+ has address //p;T;q') +# ||: because if we are using 2+ resolvers, 1 may fail, causing error, but we still get +# a valid address and we just use that +addr=$(host $host | sed -rn 's/^\S+ has address //p;T;q' ||:) h=$(host $addr) +case $h in + *"no PTR record") + echo "error: chost: $h" >&2 + exit 1 + ;; +esac h=${h##* } -echo ${h%%.*} +# trailing dot in a hostname will mess up rsync +h=${h%.} +echo $h