2013-04-10 77 views
0

我想知道如何從一個函數在bash返回數組巴什 - 功能變化的變量值

array[0]=0 
array[1]=0 
array[2]=0 

function change { 

    array[0]=1 
    array[1]=2 
    array[2]=3 

} 

然而,這並不工作(數組中的所有元素仍然0) 感謝您的幫助

+0

你打電話'change'?全局變量'array'應該被修改。 – chepner 2013-04-10 19:46:04

回答

3

別忘了電話的功能。

#!/bin/bash 

array[0]=0 
array[1]=0 
array[2]=0 

function change { 
    array[0]=1 
    array[1]=2 
    array[2]=3 
} 

change # <-------------- 

echo "${array[@]}" 

結果:

$ ./test 
1 2 3 
1

是的,他們仍然是0,因爲你沒有打電話給你的功能在所有。

試試這個:

array[0]=0 
array[1]=0 
array[2]=0 

function change { 

    array[0]=1 
    array[1]=2 
    array[2]=3 

} 

change 
echo ${array[@]}