You can use ${!a}
:
var1="this is the real value"
a="var1"
echo "${!a}" # outputs 'this is the real value'
This is an example of indirect parameter expansion:
The basic form of parameter expansion is
${parameter}
. The value of
parameter
is substituted.If the first character of
parameter
is an exclamation point (!), it
introduces a level of variable indirection. Bash uses the value of the
variable formed from the rest ofparameter
as the name of the
variable; this variable is then expanded and that value is used in the
rest of the substitution, rather than the value ofparameter
itself.