## eval用法三例 ##
## shell:/bin/sh ##
## yhc
:
##
#例一:
#尋找合符條件的變量名
然後將該變量的值賦予另一變量
v
=aaa
v
=bbb
c=
if [ $c
eq
]
then
vname=v$c #找到符合條件的變量名為v
eval vvv=
$
$vname ; echo vvv: $vvv #將變量v
的值賦予vvv
即
使vvv=aaa
eval vvv=
$
$vname ; echo vvv: $vvv #將變量v
的值賦予vvv
即
使vvv=aaa
#eval vvv=$$vname ; echo vvv: $vvv #錯誤用法
fi
#例二:#以變量v
的值aaa作為變量名
將變量vaaa的值賦予這一新定義的變量aaa
v
=aaa ; vaaa=
This is aaa
#eval $v
=$vaaa ; echo aaa: $aaa #錯誤用法
#eval $v
=
$vaaa
; echo aaa: $aaa #錯誤用法
eval $v
=
$vaaa
; echo aaa: $aaa
#例三:
#以變量v
的值aaa作為變量名
並將變量名字串作為值賦予自身
v
=aaa ; vaaa=
This is aaa
eval $v
=$v
; echo aaa: $aaa #與例二的錯誤用法不同
這一用法是正確的
eval $v
=
$v
; echo aaa: $aaa #與例二的錯誤用法不同
這一用法是正確的
eval $v
=
$v
; echo aaa: $aaa
From:http://tw.wingwit.com/Article/program/Oracle/201311/18133.html