Hi,


I was doing some testing for some additions to a rather big Bash script I'm 
working on, and the following code kept failing whenever I attempted to run it:



"

variable="hello"



declare -g "${variable}"=("world" "me")

"



When run, it's complaining about a syntax error near "(", appearing to be on 
the 'declare' line right next to where I start typing the array.



In my testing, all of the following would fail:



- declare -g "${variable}"=("world" "me")

- declare -g ${variable}=("world" "me")

- declare -g "hello"=("world" "me")



The only one that did work was the following:



- declare -g hello=("world" "me")



This appeared to be a bug for me, but I wasn't sure if this was somehow a 
feature or not.



Lastly: A workaround for this was found here [1] which uses namerefs, and works 
just fine (and is probably easier for me to look at anyway), but this seemed 
like something that deemed a bug report regardless.



[1]: https://lists.gnu.org/archive/html/help-bash/2021-08/msg00069.html

---

Hunter Wittenborn

https://www.hunterwittenborn.com

https://github.com/hwittenborn

Reply via email to