linux eval

eval 就是将命令执行两次
1.第一次,执行变量替换

2.第二次,执行替换后的命令串

#!/bin/bash
g="|"
eval ls $g wc -l
#执行第一次命令串变为: ls | wc -l
#执行第二次获得结果

echo \$$#
eval echo\$$#
#执行第一次命令串为:echo $n
#再执行一次替换后的命令串

com="cat ev.sh"
echo $com
eval $com
#执行第一次命令变为 cat ev.sh
#执行第二次命令为查看ev.sh的内容


你可能感兴趣的:(linux)