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

 

posted @ 2013-07-11 17:35  cav5lier  阅读(260)  评论(0编辑  收藏  举报