eval
eval会对后面的命令进行两次扫描,如此命令是普通命令则执行,若含有间接命令,扫描命令行进行所有的置换,然后再执行该命令
下面是eval的三个例子;
1,有一个名为mycat 的文件,其内容是hello ! my small baby ,定义一个内容是”cat mycat“的字符串变量x,echo $x 结果只是x所引用的字符串,
eval $x,第一步先将$x置换为cat mycat,第二步执行cat mycat;
2,取得传给shell的最后一个参数;
假设我们想取得shell的最后一个参数但是并不知道最后一个参数是第几个参数,则可以通过使用eval
#!/bin/bash
echo $3
echo \$$#
echo "##############"
eval echo \$$#
二。
$()与倒引号(``)的区别;