iankelling.org
/
git
/
automated-distro-installer
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
various fixes for bullseye and new ssh key changes
[automated-distro-installer]
/
chost
diff --git
a/chost
b/chost
index 9a0034f120db7e94ee0377f4f5b98c27ea19f4ce..18c0aacb1f0ec73f2ca956efa1aa12bb4f93be99 100755
(executable)
--- a/
chost
+++ b/
chost
@@
-1,4
+1,5
@@
#!/bin/bash
#!/bin/bash
+# Copyright (C) 2016 Ian Kelling
# chost: get canonical hostname
# chost: get canonical hostname
@@
-6,8
+7,15
@@
set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
host=$1
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
host=$1
-addr=$(host $host)
-addr=${addr##* }
+# ||: 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)
h=$(host $addr)
+case $h in
+ *"no PTR record")
+ echo "error: chost: $h" >&2
+ exit 1
+ ;;
+esac
h=${h##* }
h=${h##* }
-echo $
{h%%.*}
+echo $
h