shell 'pointers'...
PROBLEM
You want to access to a value thru a variable whose name in contained in an other variable
a=valeur b=aand you try something like echo \$$b The result is "$a" displayed on your screen but not the value contained in the variable a
SOLUTION The builtin "eval" ask to the shell to reread the command so, it analyses once more its contents. with : eval echo \$$b During the first analyse, the variable $b is replaced by its value "a", and the protection before the first "$" is removed, so, the shell reads again the command line, and this time, it find "echo $a", easy ....