eval

将所跟的参数作为shell的输入,并难治性产生的命令

1 将字符串解析成命令执行
定义一个cmd字符串,
cmd="ls -l /etc/passwd"

使用eval对字符串进行解析并且执行
eval $cmd


2 程序运行中根据某个变量确定实际的变量名
name1=aaa
name2=bbb
num1=1
num2=22
eval echo "$"name$num1 >>>aaa

3 将某个变量的值当做另一个变量名并给其赋值
name1=aaa
name2=bbb
eval $name1="$name2"   等价于 aaa="bbb"
echo $aaa   >>> bbb
原文地址:https://www.cnblogs.com/cizao/p/11632481.html