I will reproduced the text of BASH reference manual because I will not express it any better:
Bash performs the expansion by executing command and replacing the
command substitution with the standard output of the command, with any
trailing newlines deleted. Embedded newlines are not deleted, but they
may be removed during word splitting. The command substitution $(cat
file) can be replaced by the equivalent but faster $(< file).
When the old-style backquote form of substitution is used, backslash
retains its literal meaning except when followed by ‘$’, ‘`’, or ‘\’.
The first backquote not preceded by a backslash terminates the command
substitution. When using the $(command) form, all characters between
the parentheses make up the command; none are treated specially.
Source: Bash reference manual, Command substitution
echo \
eval echo $$VAR`` (the()
introduces an extra shell in your example). But yes, it works as you say. – vonbrand Mar 15 '13 at 12:01eval 'echo "${'"$VAR"'}"'
oreval "echo \"\${$VAR}\""
– Stéphane Chazelas Mar 15 '13 at 12:49