2012-08-26 32 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