eval命令的作用
eval命令会首先扫描命令进行所有的替换,然后在执行所有的命令,该命令适用于那些一次扫描无法实现其功能的变量,该命令对变量进行两次扫描,这些需要进行两次扫描的变量被称为复杂变量。eval命令的使用场景
1.执行含有字符串的命令。
由上面的栗子可以看出eval对该变量进行两次扫描, 并且eval不仅可以置换该变量,还可以执行相应的命令,第一次扫描置换了该变量,第二次执行了变量的的命令。而echo命令就无法达到这样的效果。
2.用来显示传递给脚本的最后一个参数
这个原理同第一个是相通的,下面我们来看看具体的用法。
原理同上述一样eval先执行$$#求出参数的个数,在执行$取出最有一个参数的值。采用echo无法达到同样的效果 ,echo只能直接传入参数的位置才能得出正确的结果。
3.给每个变量一个变量名。
Linux中eval命令
最新推荐文章于 2023-06-28 11:20:35 发布