In bash, you can do
MYVAR="somevalue" ./myscript.sh
and the variable MYVAR will be defined when running myscript.sh.
My questions is: can I do the same for arrays? Unfortunately, neither of the following works.
MYARR=( 1 2 ) ./myscript.sh
MYARR[0]=1 MYARR[1]=2 ./myscript.sh
declare -a MYARR=( 1 2 ) ./myscript.sh
Incredibility weird.... I have never seen that before.
It looks like the array is not passed to the subshell. One way around this is to source the script instead of executing it:
declare -a MYARR=( 1 2 ); . ./myscript.sh
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With