Skip to content

Commit 9d124d5

Browse files
committed
Improve the output format.
1 parent 97df9bd commit 9d124d5

File tree

1 file changed

+24
-19
lines changed

1 file changed

+24
-19
lines changed

bin/wait-for-hosts.sh

+24-19
Original file line numberDiff line numberDiff line change
@@ -58,43 +58,48 @@ wait_for_host() {
5858
return 1
5959
fi
6060
if [ "$QUIET" -ne 1 ]; then
61-
printf 'Waiting for %s to become available ... ' "$1" >&2
61+
printf "Waiting for host: %-${PADDING}s ... " "$1" >&2
6262
fi
6363
TIME_LIMIT=$(($(date +%s)+TIMEOUT))
6464
while ! OUTPUT="$(connect_to_service "$HOST" "$PORT" 2>&1)"; do
6565
if [ "$(date +%s)" -ge "$TIME_LIMIT" ]; then
66-
quiet_echo 'timeout'
66+
quiet_echo timeout
6767
if [ -n "$OUTPUT" ]; then
6868
quiet_echo "$OUTPUT"
6969
fi
7070
return 1
7171
fi
7272
sleep 1
7373
done
74-
quiet_echo 'done'
74+
quiet_echo ok
75+
}
76+
77+
set_padding() {
78+
PADDING=0
79+
while [ $# != 0 ]; do
80+
case "$1" in
81+
-t) shift 2;;
82+
-q) break;;
83+
--) break;;
84+
*) test ${#1} -gt $PADDING && PADDING=${#1}; shift;;
85+
esac
86+
done
7587
}
7688

7789
QUIET=${WAIT_FOR_HOSTS_QUIET:-0}
7890
set_timeout "${WAIT_FOR_HOSTS_TIMEOUT:-10}"
7991

92+
if [ "$QUIET" -ne 1 ]; then
93+
# shellcheck disable=SC2086
94+
set_padding $WAIT_FOR_HOSTS "$@"
95+
fi
96+
8097
while [ $# != 0 ]; do
8198
case "$1" in
82-
-t)
83-
set_timeout "$2"
84-
shift 2
85-
;;
86-
-q)
87-
QUIET=1
88-
shift
89-
;;
90-
--)
91-
shift
92-
break
93-
;;
94-
*)
95-
wait_for_host "$1"
96-
shift
97-
;;
99+
-t) set_timeout "$2"; shift 2;;
100+
-q) QUIET=1; shift;;
101+
--) shift; break;;
102+
*) wait_for_host "$1"; shift;;
98103
esac
99104
done
100105

0 commit comments

Comments
 (0)