2011-09-13 35 views
0

在java中我們稱之爲反射。但基本上,我有一個變量在我的bash腳本bash「反射」

buildvar=dev 

現在,我的腳本是一個菜單驅動系統。所以在我的腳本菜單中,我希望能夠鍵入類似於

changevar buildvar=prod 

並讓我的腳本用新值更新變量。在我的腳本中,changevar命令已經足夠簡單了,但是我怎麼才能知道buildvar是一個變量名並且要更新那個變量呢?

+0

用大量使用'eval'我想象。 –

+0

順便說一句,「變量變量」 –

回答

2

我假設你可以解析命令。剩下的就是:

a=varname 
b=value 
eval $a=$b 
echo $varname 
+0

甜,我知道它會很容易。謝謝 – scphantm

0

做到這一點,最簡單的方法是這樣的行添加到您的腳本:

alias changevar='export' 

但是,這取決於你如何使用您的menu ...