bin/68062: standalone repeat(1) command
Jilles Tjoelker
jilles at stack.nl
Sun Apr 25 21:20:06 UTC 2010
The following reply was made to PR bin/68062; it has been noted by GNATS.
From: Jilles Tjoelker <jilles at stack.nl>
To: bug-followup at FreeBSD.org, cyrille.lefevre at laposte.net
Cc:
Subject: Re: bin/68062: standalone repeat(1) command
Date: Sun, 25 Apr 2010 23:18:13 +0200
I'm not sure if we want this repeat(1) command, given that csh(1)
already has it as a builtin and a simple shell function can do it in
sh(1).
repeat() {
local i="$1"
shift
while [ "$i" -gt 0 ]; do
"$@"
i=$((i-1))
done
}
This shell function will cause expansions and redirections to be
evaluated exactly once, but so do the csh builtin and your proposed
external command.
The closest to the repeat command that fits in sh's model is
ksh93/bash/zsh's arithmetic for command, e.g.
for ((i=0; i<3; i++)); do sync; done
I usually use the arithmetic for command or loops like in the shell
function above.
zsh also has a repeat compound command much like csh, except that it
will evaluate expansions and redirections for each execution of the
command.
--
Jilles Tjoelker
More information about the freebsd-bugs
mailing list