>>72
> while (( i <= 3 )); do
>  echo pilaf
>  (( i++ ))
> done

((i++)) 【let i=++】と
((i+=1)) 【let i=i+1】と
i=$((i+1)) は
厳密には違う。

i=0; ((i++)); echo $? => 1
i=0; ((i+=1)); echo $? => 0
i=0; i=$((i+1)); echo $? => 0

i=-1; ((i++)); echo $? => 0
i=-1; ((i+=1)); echo $? => 1
i=-1; i=$((i+1)); echo $? => 0

set -e をしていると、その場で終了してしまうことになる。
計算のみの用途として、安心して使えるのは i=$((i+1)) だ