功能:告知shell取出eval的参数,重新计算求出参数的内容

语法:eval[参数]

eval 可取一连串的参数,然后再依参数本身的特性来执行

参数:参数不限数目,彼此之间用分号隔开

1.执行命令行之前扫描它两次,再次运算求出参数的内容

   前面放上eval时,其结果是shell在执行命令行之前扫描它两次


eval_Linux

shell第一次执行时,它替换pipe的值 | ,接着eval使它再次扫描命令行,这时shell把 | 看做管道符号了


eval_Linux_02

eval_Linux_03


2.eval取得最后一个参数

eval_Linux_04

第一遍扫描后,shell把反斜杠(\)去掉了,当shell再次扫描该行时,它替换了$4的值,并执行echo命令