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

Reply via email to