Reputation: 695
I am wondering how to return an array from a function in bash
array[0]=0
array[1]=0
array[2]=0
function change {
array[0]=1
array[1]=2
array[2]=3
}
However this does not work (all elements of array are still 0) thanks for help
Upvotes: 0
Views: 408
Reputation: 195039
yes they are still 0. because you didn't call your function at all.
try this:
array[0]=0
array[1]=0
array[2]=0
function change {
array[0]=1
array[1]=2
array[2]=3
}
change
echo ${array[@]}
Upvotes: 1
Reputation: 361585
Don't forget to call the function.
#!/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[@]}"
Result:
$ ./test
1 2 3
Upvotes: 3