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