eval 就是执行以下两个步骤 1.第一次,执行变量替换,类似与C语言的宏替代
2.第二次,执行替换后的命令串
#!/bin/bash
g="|"
eval ls $g wc -l
#1.变量替换 eval ls | wc -l
#2.执行命令结果
echo \$$# #输出命令个数
eval echo \$$# #输出最后一个命名
#1.变量替换: echo $n
#2.执行命令结果
com="cat eval.sh"
echo $com
eval $com #输出文件内容
eval echo $($com) #测试啥输出也没有 why? 命令echo $(cat eval.sh)