2012-08-26 31 views
1

讓我們假設我有以下兩個變量:部分是可變

arg1=5 
count5="test" 

現在,我希望能夠做一些事情,如:

echo ${'count' . $arg1} #which should give me "test" but its returning bad-substitution error 

即能的一部分一個變量可以設置爲變量在bash中?

+0

我沒有看到代碼的其餘部分,但肯定的是,不涉及該解決方案更好的辦法。陣列也許? – InternetSeriousBusiness

+0

經典答案(可移植到來自Bourne shell的shell)將是'eval',但'間接變量參考'更好。 –

回答

2

好,知道了經由猛砸推出V2作爲間接變量引用工作:

my_var="count$arg1" 
echo ${!my_var} 
+2

雖然這可行,但最好使用一個數組:'arr [5] =「test」'。在bash中,數組很稀疏,所以你可以分配元素5而不分配0-4。 – jordanm