eval就是将后面的参数连接起来,成为一个新的命令,并且执行它。因此
你这条命令就相当于直接执行
LAST=${$#}
假定你的脚本是这样被执行的
./test
.sh aaa bbb ccc ddd
那么 $# 就是4,那么
LAST=${$#}就相当于
LAST=${4}
也就是
LAST=ddd
再给你一个例子,让你体会一下有eval和没有eval的区别
foo=10 x=foo
y='$'$x
echo $y
得到的结果是 $foo
而
eval y='$'$x
echo $y
得到的结果是 10