All pastes #675071 Raw Edit

Unnamed

public shellscript v1 · immutable
#675071 ·published 2007-08-29 20:07 UTC
rendered paste body
#Bryan Drewery - bryan@shatow.net - GPL (Please email me contributions)#Usage: timeout "$CMD" "$SUCCESS_TEXT" $TIMEOUT [dots]#Run $CMD and look for $SUCCESS_TEXT and return 0#or return 1 after $TIMEOUT seconds of not seeing $SUCCESS_TEXT#Set dots to 1 to display a '.' every second (no newline)timeout() {  cmd="$1"  success_text="$2"  timeout="$3"  dots=0  if [ -n "$4" ]; then    dots=$4  fi  TMPFILE=`mktemp /tmp/timeout.XXXXXX` || exit 1  $cmd > $TMPFILE 2> /dev/null &  #nc -z ${SERVER}.${DOMAIN} $PORT > $TMPFILE 2> /dev/null &  PID=$!  disown $!  sleep 1  loop=1  while true; do    grep "$success_text" $TMPFILE > /dev/null 2>&1    if [ 0 -eq $? ]; then      break    fi    if [ $loop = $timeout ]; then      break    fi    ((loop++))    if [ "$dots" = "1" ]; then      echo -n "."    fi    sleep 1  done  kill -9 $PID > /dev/null 2>&1  grep "$success_text" $TMPFILE > /dev/null 2>&1  status=$?  rm -f $TMPFILE  if [ 1 -eq $status ]; then    return 1  fi  return 0}