#!/bin/bash -eu
# surprise:	run a command (e.g. play a sound) at random intervals
reps=$1    # or -1 for "forever"
sleep0=$2
sleep1=$3
shift 3
cmd=("$@")

i=0
while [ "$i" -ne "$reps" ]; do
	sleep=$(( ($RANDOM % (sleep1 - sleep0 + 1)) + sleep0 ))
	sleep $sleep
	"${cmd[@]}"
	i=$[i+1]
done
