在 bash 中,你可以这样做
MYVAR="somevalue" ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
变量 MYVAR 将在运行 myscript.sh 时定义。
我的问题是:我可以对数组做同样的事情吗?不幸的是,以下方法都不起作用。
MYARR=( 1 2 ) ./myscript.sh
MYARR[0]=1 MYARR[1]=2 ./myscript.sh
declare -a MYARR=( 1 2 ) ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
难以置信,奇怪……我以前从未见过。
看起来数组没有传递到子 shell。解决这个问题的一种方法是获取脚本而不是执行它:
declare -a MYARR=( 1 2 ); . ./myscript.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6269 次 |
| 最近记录: |