2011-06-09 97 views
19

我有一個索引的bash陣列和我想使用像表達式「$ {A [@]}」除我希望它不包括[0]。我能想到的最好的是這樣的:獲取一個bash數組的所有元素除第一

j=0 
for i in "${a[@]}" 
do 
    b[j]=${a[++j]} 
done 

,然後用 「$ {B [@]}」。有沒有更好的辦法?

回答

31
$ a=(1 2 3) 
$ echo "${a[@]:1}" 
2 3 
+0

認爲他需要一個訪問數組b。 b =($ {a [@]:1}) – Jasonw 2011-06-09 02:31:12

+0

是的,這是有效的!你會碰巧知道在描述的bash手冊中的什麼位置? – grok12 2011-06-09 03:41:35

+3

他們在**陣列**和**參數擴展**部分。他們可以一起使用沒有明確提及,但它確實有效。 – 2011-06-09 04:28:42