1 在开始执行eval后面的命令之前eval主要做了哪些事情
1.1 去掉反斜杠的quoting
比如\$ac_optarg,会变成$ac_optarg。
1.2 去掉单引号的quoting
比如:
a=10
b=a //这里只是给b赋值为a,并没有扩展a。
eval y=‘$‘$b
-->10
首先进行一次扩展,y=$a,然后执行这条命令。
2 总结一下
eval首先进行一次扩展,只是参数的每个部分扩展一次,然后执行扩展后的命令。
时间: 2024-10-17 03:11:00