登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

eval用法  

2010-02-23 16:55:16|  分类: shell |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


## eval用法三例 ##
## shell:/bin/sh ##

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

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

#例三:
#以变量v1的值aaa作为变量名,并将变量名字串作为值赋予自身
v1=aaa ; vaaa="This is aaa"
eval $v1=$v1   ; echo aaa: $aaa    #与例二的错误用法不同,这一用法是正确的
eval $v1="$v1" ; echo aaa: $aaa    #与例二的错误用法不同,这一用法是正确的
eval $v1='$v1' ; echo aaa: $aaa
               
  评论这张
 
阅读(808)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018