Posted on 2010-03-28 17:49
Prayer 閱讀(646)
評論(0) 編輯 收藏 引用 所屬分類:
Shell
## 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 ; 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
#例三:
#以變量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
該文章轉載自[程序人生]:<a href="