Subject: Re: sh arithmetic expression
To: Florian Stoehr <netbsd@wolfnode.de>
From: Jason M. Leonard <fuzz@ldc.upenn.edu>
List: netbsd-users
Date: 12/28/2004 21:21:30
On Wed, 29 Dec 2004, Florian Stoehr wrote:

> On Tue, 28 Dec 2004, Jason M. Leonard wrote:
>
>> 
>> 
>> On Wed, 29 Dec 2004, Florian Stoehr wrote:
>> 
>>> Hi,
>>> 
>>> the follwing will run with bash, but not with /bin/sh. How to write the 
>>> increment statement so that /bin/sh will like it? I played around with 
>>> "let" but without success.
>>> 
>>> #!/bin/sh
>>> i=1
>>> while [ $i -le $1 ]
>>> do
>>> 	echo "Run " $i
>>> 	i=$[$i+1]  <--- bash can do that, not /bin/sh
>>> done
>> 
>> let i=$((i+1))
>> 
>> 
>
> Hm ... as I said, I tried that with let and I did it as in sh(1) with 
> $((expr)), but it doesn't seem to work:
>
> #!/bin/sh
> i=1
> while [ $i -le $1 ]
> do
> 	echo "Run " $i
> 	let i=$((i+1))
> done
>
>
> Gives:
>
> flo@irina [/tmp] # ./test.sh 5
> Run  1
> ./test.sh: arith: syntax error: "i+1"
>
> ???
>
> -Flo

Something hates you?  The same code, copy and pasted from your email:

lorax:~ fuzz$ ./test.sh 5
Run  1
2
Run  2
3
Run  3
4
Run  4
5
Run  5
6


:Fuzz