On Thu, May 30, 2013 at 12:04 PM, Davide Brini <dave...@gmx.com> wrote: > On Thu, 30 May 2013 16:56:36 +0800, Chris Down <ch...@chrisdown.name> wrote: > >> Pierre is referring to the fact that [i++] is evaluated as a glob by >> the shell, the reason it doesn't work is because $i is postincremented >> instead of preincremented. You can see what he means here: >> >> $ shopt -u nullglob >> $ i=0 >> $ while read a[++i]; do >> > echo "${a[i]}" >> > done <<< hello >> hello >> $ shopt -s nullglob >> $ while read a[++i]; do >> > echo "${a[i]}" >> > done <<< hello >> >> $ > > But he was doing postincrement, so it wouldn't have worked anyway, since > the code was assigning to a[0] and printing a[1]. > > PS: Better put a > > a=() > > before each run. > > -- > D.
ok sorry for not having try my example, my point is that it was not assigning to a[0] because of the nullglob and that this one can be hard to spot