foo='abc'
bar='xyz'
var=bar
How to I get access to 'xyz'
when I have var
?
I've tried:
$(echo $var)
and
$(eval echo $var)
I just get bar: command not found
Use bash
indirect variable reference:
${!var}
And of course can be done with eval
, not recommended:
eval 'echo $'"$var"
Why:
$ bar=xyz
$ var='bar;whoami'
$ eval 'echo $'"$var"
xyz
spamegg
Th command whoami
is being evaluated too as part of evaluation by eval
, imagine a destructive command instead of whoami
.
Example:
$ bar='xyz'
$ var=bar
$ echo "${!var}"
xyz
$ eval 'echo $'"$var"
xyz
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With