From ed77b63706ea721766a62ff22d3a251d8b4a6a30 Mon Sep 17 00:00:00 2001 From: Fabio Kruger Date: Sat, 1 Feb 2020 13:39:58 +0100 Subject: [PATCH] Added support for new busybox timeout version --- wait-for-it.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/wait-for-it.sh b/wait-for-it.sh index 071c2be..5e8679e 100755 --- a/wait-for-it.sh +++ b/wait-for-it.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Use this script to test if a given TCP host/port are available +# Use this script to test if a given TCP host/port are available WAITFORIT_cmdname=${0##*/} @@ -141,16 +141,20 @@ WAITFORIT_STRICT=${WAITFORIT_STRICT:-0} WAITFORIT_CHILD=${WAITFORIT_CHILD:-0} WAITFORIT_QUIET=${WAITFORIT_QUIET:-0} -# check to see if timeout is from busybox? +# Check to see if timeout is from busybox? WAITFORIT_TIMEOUT_PATH=$(type -p timeout) WAITFORIT_TIMEOUT_PATH=$(realpath $WAITFORIT_TIMEOUT_PATH 2>/dev/null || readlink -f $WAITFORIT_TIMEOUT_PATH) + +WAITFORIT_BUSYTIMEFLAG="" if [[ $WAITFORIT_TIMEOUT_PATH =~ "busybox" ]]; then - WAITFORIT_ISBUSY=1 + WAITFORIT_ISBUSY=1 + # Check if busybox timeout uses -t flag + # (recent Alpine versions don't support -t anymore) + if timeout &>/dev/stdout | grep -q -e '-t '; then WAITFORIT_BUSYTIMEFLAG="-t" - + fi else - WAITFORIT_ISBUSY=0 - WAITFORIT_BUSYTIMEFLAG="" + WAITFORIT_ISBUSY=0 fi if [[ $WAITFORIT_CHILD -gt 0 ]]; then