需求
很多时候需要使用变量的值作为新变量,例如,
kobe=24
name='kobe'
#想通过name直接获取到24
#语义上也就是${${name}},但是shell不支持这样的操作
命令
此时可以使用eval命令,
[root@CentOS-7-2 ~]# name='kobe'
[root@CentOS-7-2 ~]# kobe=24
[root@CentOS-7-2 ~]# eval echo '$'"${name}"
24
[root@CentOS-7-2 ~]#
其实思路就是先获取name的值,通过再次构造echo命令,使用eval再一次执行语句,就达到我们的目的。