sh loop variable and "double indirection"
Maarten Litmaath
maart at cs.vu.nl
Wed Jan 30 02:43:10 AEST 1991
In article <a21801wv11X.00 at amdahl.uts.amdahl.com>,
krs at uts.amdahl.com (Kris Stephens [Hail Eris!]) writes:
)In article <1991Jan27.044258.18779 at shibaya.lonestar.org>
) afc at shibaya.lonestar.org (Augustine Cano) writes:
)>I am trying to specify (at run time) an upper limit for a loop in a shell
)>script. In pseudo-code the ideal would be something like this:
)>
)>read i
)>for 0 to i
)>do
)>...
)>done
)
)Let me give you the ksh version first, then the (slower) sh mods -- it's
)slower because each iteration requires a fork/exec not required in ksh.
Not necessarily.
read i
t0= rest='1 2 3 4 5 6 7 8 9'
for h in '' $rest
do
for t in "$t0" $rest
do
for u in 0 $rest
do
case $h$t$u in
999)
echo overflow >&2
exit 1
;;
$i)
break 3
esac
do_something
done
done
t0=0
done
This example works for 999 iterations. Enough?
--
kinnersley at kuhub.cc.ukans.edu (Bill Kinnersley):
"Do phonograph turntables turn the other way in Australia?"
gjh at krebs.acc.Virginia.EDU (Galen J. Hekhuis):
"How do you think satanic messages were discovered on records?"
More information about the Comp.unix.shell
mailing list