Komenda eval w Bashu i jej typowe zastosowania
Po przeczytaniu stron podręcznika bash iw związku z tymsłupek.
Nadal mam problemy ze zrozumieniem, co dokładnieeval
komenda robi i jakie byłyby jej typowe zastosowania. Na przykład, jeśli to zrobimy:
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
Co dokładnie się tutaj dzieje i jak znak dolara i odwrotny ukośnik wiążą się z problemem?