On Thu, May 15, 2025 at 02:26:47AM +0200, Emanuele Torre wrote: > $ # a[0] is not set, but no error > $ bash -uc 'a=() k=; declare -n r=a[k]; : "$r"; echo ok' > ok > $ # a[0] is not set, error > $ bash -uc 'a=() k=; declare -n r=a[k]; : "${r}"; echo ok' > bash: line 1: r: unbound variable
You don't need the k variable nor a to be set: $ bash -uc 'unset -v a; declare -n r=a[0]; : "${r}"; echo ok' bash: line 1: r: unbound variable $ bash -uc 'unset -v a; declare -n r=a[0]; : "$r"; echo ok' ok o/ emanuele6