Philippe Blain [off-list ref] writes:
quoted
A silly question (primarily because I do not much use the indirect
reference construct ${!name}). Does the assignment with printf need
to spell out the long variable name with "_${section}"? Can it be
printf -v "$this_section" ...
instead, as we already have the short-hand for it?
No, unfortunately neither "$this_section" nor "${!this_section}"
work, so we must use the long name.
Hmph, this does not match my experiment, though. What am I doing
wrong?
bash$ vname=foo
bash$ foo=bar
bash$ set | grep foo
foo=bar
vname=foo
bash$ printf -v "$vname" "%d" 1234
bash$ set | grep foo
foo=1234
vname=foo
bash$ echo $BASH_VERSION
5.2.21(1)-release