|
1 | 1 | #!/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 |
3 | 3 |
|
4 | 4 | WAITFORIT_cmdname=${0##*/}
|
5 | 5 |
|
@@ -36,7 +36,7 @@ wait_for()
|
36 | 36 | nc -z $WAITFORIT_HOST $WAITFORIT_PORT
|
37 | 37 | WAITFORIT_result=$?
|
38 | 38 | 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 |
40 | 40 | WAITFORIT_result=$?
|
41 | 41 | fi
|
42 | 42 | if [[ $WAITFORIT_result -eq 0 ]]; then
|
@@ -136,21 +136,25 @@ if [[ "$WAITFORIT_HOST" == "" || "$WAITFORIT_PORT" == "" ]]; then
|
136 | 136 | usage
|
137 | 137 | fi
|
138 | 138 |
|
139 |
| -WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-35} |
| 139 | +WAITFORIT_TIMEOUT=${WAITFORIT_TIMEOUT:-15} |
140 | 140 | WAITFORIT_STRICT=${WAITFORIT_STRICT:-0}
|
141 | 141 | WAITFORIT_CHILD=${WAITFORIT_CHILD:-0}
|
142 | 142 | WAITFORIT_QUIET=${WAITFORIT_QUIET:-0}
|
143 | 143 |
|
144 |
| -# check to see if timeout is from busybox? |
| 144 | +# Check to see if timeout is from busybox? |
145 | 145 | WAITFORIT_TIMEOUT_PATH=$(type -p timeout)
|
146 | 146 | WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH)
|
| 147 | + |
| 148 | +WAITFORIT_BUSYTIMEFLAG="" |
147 | 149 | 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 |
149 | 154 | WAITFORIT_BUSYTIMEFLAG="-t"
|
150 |
| - |
| 155 | + fi |
151 | 156 | else
|
152 |
| - WAITFORIT_ISBUSY=0 |
153 |
| - WAITFORIT_BUSYTIMEFLAG="" |
| 157 | + WAITFORIT_ISBUSY=0 |
154 | 158 | fi
|
155 | 159 |
|
156 | 160 | if [[ $WAITFORIT_CHILD -gt 0 ]]; then
|
|
0 commit comments