user1926550
user1926550

Reputation: 695

Changing the value of a variable inside a function

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

Answers (2)

Kent
Kent

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

John Kugelman
John Kugelman

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

Related Questions