功能:告知shell取出eval的参数,重新计算求出参数的内容
语法:eval[参数]
eval 可取一连串的参数,然后再依参数本身的特性来执行
参数:参数不限数目,彼此之间用分号隔开
1.执行命令行之前扫描它两次,再次运算求出参数的内容
前面放上eval时,其结果是shell在执行命令行之前扫描它两次
shell第一次执行时,它替换pipe的值 | ,接着eval使它再次扫描命令行,这时shell把 | 看做管道符号了
第一次扫描,变量置换,第二次扫描,执行该字符串所包含的命令cat test.txt
2.eval取得最后一个参数
第一遍扫描后,shell把反斜杠(\)去掉了,当shell再次扫描该行时,它替换了$4的值,并执行echo命令