linux中的eval解析

1、eval的定义

        会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用,则保证间接引用的语义。也就是说,eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令。因此,eval命令适用于那些一次扫描无法实现其功能的变量。

2、eval 执行步骤

第一次,执行变量替换,类似与C语言的宏替代。

第二次,执行替换后的命令串。

3、举例

(1)test.sh
linux中的eval解析
运行结果
linux中的eval解析
(2)

linux中的eval解析
linux中的eval解析