eval用法三例

http://bbs.chinaunix.net/viewthread.php?tid=15788

## eval用法三例 ##
## shell:/bin/sh ##
## yhc 2002.09.26 18:00 ##

#例一:
#寻找合符条件的变量名,然后将该变量的值赋予另一变量
v1=aaa
v2=bbb
c=1
if [ $c -eq 1 ]
then
  vname=v$c   #找到符合条件的变量名为v1
  eval vvv="$"$vname &#59; echo vvv: $vvv    #将变量v1的值赋予vvv,即,使vvv=aaa
  eval vvv='$'$vname &#59; echo vvv: $vvv    #将变量v1的值赋予vvv,即,使vvv=aaa
#eval vvv=$$vname   &#59; echo vvv: $vvv    #错误用法
fi


#例二:#以变量v1的值aaa作为变量名,将变量vaaa的值赋予这一新定义的变量aaa
v1=aaa &#59; vaaa="This is aaa"
#eval $v1=$vaaa    &#59; echo aaa: $aaa    #错误用法
#eval $v1="$vaaa"  &#59; echo aaa: $aaa    #错误用法
eval $v1='$vaaa'   &#59; echo aaa: $aaa


#例三:
#以变量v1的值aaa作为变量名,并将变量名字串作为值赋予自身
v1=aaa &#59; vaaa="This is aaa"
eval $v1=$v1   &#59; echo aaa: $aaa    #与例二的错误用法不同,这一用法是正确的
eval $v1="$v1" &#59; echo aaa: $aaa    #与例二的错误用法不同,这一用法是正确的
eval $v1='$v1' &#59; echo aaa: $aaa
 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值