linux eval

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)


你可能感兴趣的:(linux eval)