2013-03-26 141 views
1

我有這樣的事情:創建變量名稱與變量

$CORSAIR_TYPE="good" 
$CASE="CORSAIR" 
... 
$local temp_type=${CASE}_TYPE 
echo ${!temp_type} 

這使我的變量CORSAIR_TYPE的價值,這是「好」。有沒有辦法做到這一點,而不創建temp_type變量?我將用什麼替換echo ${!temp_type}

感謝

+1

是,'EVAL回聲 '$' 「$ {案例} _Type」'或類似的東西。 – 2013-03-26 12:40:09

+0

對於'$ {!foo}','foo'必須是一個變量。所以,不,至少在你提供的代碼中,並不是真的。此外,我不會使用任何'eval'解決方案來避免創建一個臨時變量。 – jedwards 2013-03-26 15:09:20

回答

0

對於任何人碰到這個崗位磕磕絆絆,這是一種方式,我發現這樣做的:

echo $(eval echo $`echo ${CASE}_TYPE`) 
+1

所有你需要的是'eval'echo'$'$ {CASE}'_ TYPE「'' – William 2013-03-26 13:53:37