Comando eval no Bash e seus usos típicos
Depois de ler as páginas do homem bash e com respeito a estepostar.
Eu ainda estou tendo problemas para entender exatamente o queeval
comando faz e quais seriam seus usos típicos. Por exemplo, se fizermos:
bash$ set -- one two three # sets $1 $2 $3
bash$ echo $1
one
bash$ n=1
bash$ echo ${$n} ## First attempt to echo $1 using brackets fails
bash: ${$n}: bad substitution
bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails
bash: 1: command not found
bash$ eval echo \${$n} ## Third attempt to echo $1 using 'eval' succeeds
one
O que exatamente está acontecendo aqui e como o sinal de dólar e a barra invertida se ligam ao problema?