[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ((i++)) no longer supported?
From: |
Pierre Gaston |
Subject: |
Re: ((i++)) no longer supported? |
Date: |
Thu, 3 May 2012 09:53:59 +0300 |
On Thu, May 3, 2012 at 9:34 AM, Pan ruochen <panruochen@gmail.com> wrote:
> Hi All,
>
> Suddenly I found that ((i++)) is not supported on bash.
> Just try the following simple case:
> $i=0; ((i++)); echo $?
> And the result is
> 1
> which means an error.
> I got the same result on GNU bash, version 4.1.2(1)-release
> (x86_64-redhat-linux-gnu) and GNU bash, version 4.1.10(4)-release
> (i686-pc-cygwin).
>
> - BR, Ruochen
>
It has always been the case, and fits the documentation since i++
value is 0 and that is false in the arithmetic context.
What changed is that it bash exits in this case if you use set -e.
Some Possible workarounds:
((i++)) || :
((i+=1))
i=$((i+1))
and a gazillon others.