Linux中eval命令

来源:互联网 发布:网络经营许可证公示 编辑:程序博客网 时间:2024/06/04 20:12
  • eval命令的作用
    eval命令会首先扫描命令进行所有的替换,然后在执行所有的命令,该命令适用于那些一次扫描无法实现其功能的变量,该命令对变量进行两次扫描,这些需要进行两次扫描的变量被称为复杂变量。

  • eval命令的使用场景
    1.执行含有字符串的命令。
    这里写图片描述

    这里写图片描述
    这里写图片描述
    由上面的栗子可以看出eval对该变量进行两次扫描, 并且eval不仅可以置换该变量,还可以执行相应的命令,第一次扫描置换了该变量,第二次执行了变量的的命令。而echo命令就无法达到这样的效果。
    2.用来显示传递给脚本的最后一个参数
    这个原理同第一个是相通的,下面我们来看看具体的用法。
    这里写图片描述
    这里写图片描述
    原理同上述一样eval先执行$$#求出参数的个数,在执行$取出最有一个参数的值。采用echo无法达到同样的效果 ,echo只能直接传入参数的位置才能得出正确的结果。
    3.给每个变量一个变量名。
    这里写图片描述
    这里写图片描述

原创粉丝点击