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.