#!/usr/bin/env bash set -o nounset set -o pipefail if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace; fi RATE_CHANGE_FACTOR=$1 IFS=" " read -r -a OPTS <<< $2 URL=${OPTS[0]}; METHOD=${OPTS[1]}; RATE=${OPTS[2]}; BODY=${OPTS[3]} SLEEP_TIME=$(perl -e "print 60.0 / $RATE / $RATE_CHANGE_FACTOR") send_req () { COMMAND="curl -X $METHOD --header 'Content-Type: application/json' --data '$BODY' -s '$URL' -o /dev/null" eval $COMMAND if [ $? -eq 0 ] then printf '%s' "." else printf '%s' "x" fi } until false do send_req & sleep $SLEEP_TIME done