43 lines
894 B
Text
43 lines
894 B
Text
# To: chet@ins.CWRU.Edu
|
|
# Subject: Bash functions
|
|
# From: Sandeep Mehta <sxm@philabs.Philips.Com>
|
|
|
|
##########################################
|
|
#
|
|
# repeat - clone of C shell builtin `repeat'
|
|
#
|
|
# usage: repeat <count> <command>
|
|
#
|
|
# It has been tested inside other functions and in conditionals like
|
|
# if [ "`repeat <count> <command>`" ]; then COMMANDS [ else COMMANDS ] fi
|
|
# Please send me fixes/enhancements.
|
|
#
|
|
# Sandeep Mehta <sxm@philabs.Philips.Com>
|
|
##########################################
|
|
repeat()
|
|
{
|
|
local rcount=$1
|
|
|
|
if [ $# -le 1 ] || [ -z "$rcount" ]; then
|
|
echo "usage: repeat <count> <command>" 1>&2
|
|
return 2
|
|
fi
|
|
|
|
shift
|
|
|
|
local acmd=("$@")
|
|
|
|
if [ $rcount -le 0 ]; then
|
|
echo "count must be greater than 0"
|
|
echo "usage: repeat <count> <command>" 1>&2
|
|
return 2
|
|
fi
|
|
|
|
st=0
|
|
while [ $rcount -gt 0 ]; do
|
|
eval "${acmd[@]}"
|
|
st=$?
|
|
rcount=$((rcount - 1))
|
|
done
|
|
return $st
|
|
}
|