On Sun, Aug 31, 2014 at 12:20 PM, lolilolicon <loliloli...@gmail.com> wrote: > Assignment to a subscripted array variable behaves differently for > nameref vs `printf -v`, as shown below. > > Assignment via nameref variable: > > declare -a arr=() > func() { > local -n ref=$1 > ref='nameref' > } > func 'arr[0]' > declare -p 'arr[0]' arr > > --- output --- > declare -- arr[0]="nameref" > declare -a arr='()'
The bug does not affect global nameref variables, declare -a arr declare -n ref ref='arr[0]' ref='foo' declare -p 'arr[0]' arr --- output --- gn.sh: line 5: declare: arr[0]: not found declare -a arr='([0]="foo")'