Hi,
If you want to use /bin/sh, it works well if you replace
((i=i+1)) by
let i=i+1
L. Ahmadi
Uwe Dippel wrote:
I needed some little script; and - as usual - tried it out by typing:
i=0
uplim=10
while [ $i -lt $uplim ]
do
((i=i+1))
echo $i
done
1
2
3
4
5
6
7
8
9
10
So good, so far.
So I put the history into a file; added
#!/bin/sh
and ran it.
To my surprise, it is an endless loop printing 0.
Typed again, works. Running the script: endless loop.
Question: What is missing in the loop ?
FYI: I tried all those variation of $i in the arithmetic expression, but I
won't do the trick. It works properly as line-by-line and loops endlessly
as script.
I can make it work by changing it to
...
echo $((i=i+1))
...
, but I still ask myself, why the arithmetic expression is not being
evaluated within the script if not in combination with echo, e.g. ?
Uwe