2011-03-02 40 views
1

我在更改數組中的值時遇到了問題。 我有幾個數組:TAB1,TAB2 ....等 我想改變使用兩個變量這些陣列的一些值:bash - 更改數組中的值

x=2 
y=3 
tab$y[$x]="#" 

這是行不通的。 任何人都可以幫助我嗎?

回答

1

eval是你的朋友:

eval tab$y[$x]="#" 
5

使用declare,它比eval安全:

declare tab$y[$x]="#" 
+0

是的,我不知道這一個工程。只是爲了完成,是否有同樣優雅的方式來獲取'$ {tab $ y [$ x]}'的值? – 2011-03-05 06:15:29

+0

@ChenLevy:不是我能想到的,但無論如何,[可能有更好的選擇](http://mywiki.wooledge.org/BashFAQ/006)就是這樣的。 – 2011-03-05 09:09:16