Skip to content

Commit 96ad4d9

Browse files
committed
Update wait-for-it.sh
1 parent 20f5399 commit 96ad4d9

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

wait-for-it.sh

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
# Use this script to test if a given TCP host/port are available
2+
# Use this script to test if a given TCP host/port are available
33

44
WAITFORIT_cmdname=${0##*/}
55

@@ -36,7 +36,7 @@ wait_for()
3636
nc -z $WAITFORIT_HOST $WAITFORIT_PORT
3737
WAITFORIT_result=$?
3838
else
39-
(echo > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1
39+
(echo -n > /dev/tcp/$WAITFORIT_HOST/$WAITFORIT_PORT) >/dev/null 2>&1
4040
WAITFORIT_result=$?
4141
fi
4242
if [[ $WAITFORIT_result -eq 0 ]]; then
@@ -136,21 +136,25 @@ if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then
136136
usage
137137
fi
138138

139-
WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-35}
139+
WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-15}
140140
WAITFORIT_STRICT=${WAITFORIT_STRICT:-0}
141141
WAITFORIT_CHILD=${WAITFORIT_CHILD:-0}
142142
WAITFORIT_QUIET=${WAITFORIT_QUIET:-0}
143143

144-
# check to see if timeout is from busybox?
144+
# Check to see if timeout is from busybox?
145145
WAITFORIT_TIMEOUT_PATH=$(type -p timeout)
146146
WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH)
147+
148+
WAITFORIT_BUSYTIMEFLAG=""
147149
if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then
148-
WAITFORIT_ISBUSY=1
150+
WAITFORIT_ISBUSY=1
151+
# Check if busybox timeout uses -t flag
152+
# (recent Alpine versions don't support -t anymore)
153+
if timeout &>/dev/stdout | grep -q -e '-t '; then
149154
WAITFORIT_BUSYTIMEFLAG="-t"
150-
155+
fi
151156
else
152-
WAITFORIT_ISBUSY=0
153-
WAITFORIT_BUSYTIMEFLAG=""
157+
WAITFORIT_ISBUSY=0
154158
fi
155159

156160
if [[ $WAITFORIT_CHILD -gt 0 ]]; then

0 commit comments

Comments
 (0)