linux eval 命令的简单用法
eval的用法
eval command-line
其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如: pipe="|" eval ls $pipe wc -l shell第1次扫描命令行时,它替换出pipe的值|,接着eval使它再次扫描命令行,这时shell把|作为管道符号了。
看下面脚本
#!/bin/sh #eval1.sh v1="aaa" v2="bbb" c="1" if [ $c -eq 1 ] then vname=v$c eval vvv1="$"$vname eval vvv='$'$vname #也正确 #vvv2=${$vname}#错误使用 echo "vvv1=$vvv1,vvv2=$vvv2" fi