eval LAST=\${$#} shell函数里的一句 啥意思?

eval是什么意思哦?
用法?
"\"是转义的意思?
$#是输入参数的个数?
那$n如果输入一个参数 比如 restart是什么意思啊?

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
温馨提示:答案为网友推荐,仅供参考
相似回答