eval

来源:互联网 发布:如何修改mac锁屏界面 编辑:程序博客网 时间:2024/06/16 11:23

eval

  • 功能
    告知shell取出eval的参数,然后按照参数特性来执行。参数数目不限,彼此用分号隔开。
  • 区别:
    • eval会对后面命令进行两次扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用, 则保证间接引用的语义。
    • `和$()两种替换方式都只对要替换的部分进行一次扫面
    • eval命令将会首先扫描命令行进行所有的置换,然后执行该命令,所以,eval适用于那些一次扫描无法实现其功能的变量。
    • eval不能获得函数处理结果
    • eval命令不可嵌套
  • 栗子
    这里写图片描述

命令代换:`和$()

由反引号括起来的也是条命令,Shell先执该命令,然后将输出结果替换到当前命令中
这里写图片描述