BASH:如何在调用bash脚本之前将数组定义为环境变量

时间:2013-08-08 14:22:12

标签: arrays bash shell

在bash中,你可以做到

MYVAR="somevalue" ./myscript.sh

并且在运行myscript.sh时将定义变量MYVAR。

我的问题是:我可以为数组做同样的事情吗?不幸的是,以下都不起作用。

MYARR=( 1 2 ) ./myscript.sh
MYARR[0]=1 MYARR[1]=2 ./myscript.sh
declare -a MYARR=( 1 2 ) ./myscript.sh

1 个答案:

答案 0 :(得分:4)

难以置信的奇怪......我以前从未见过。

看起来数组没有传递给子shell。解决此问题的一种方法是获取脚本而不是执行它:

declare -a MYARR=( 1 2 ); . ./myscript.sh