星期二, 6月 12, 2012

bash 如何用變數取得變數名稱

中文形容的不恰當,英文比較貼切
bash, how to get variable name from variable

假設bash有如下變數:
st21413=5234.3
st21416=4432.2
st52405=5732.1
所以
echo $st21413 會得到 5234.3
那如果
A=st21413
有沒有什麼方法可以透過A得到5234.3的值?
直覺得想法像是
echo $`$A`
結果得到 $st21413 而非 5234.3 …
正解:
A=st21413
echo ${!A}
即可得到5234.3
如果
B=${!A}
那 B 的值就是 5234.3 囉,即
echo $B 會得到 5234.3

沒有留言: