我们知道以规范方式导出数组是不可能的,但我有兴趣找到一种解决方法。我有一个以下场景:在启动期间将变量列表从文件加载到数组,并且我需要让该数组对于在父环境中可能执行或不执行的几个bash脚本可见(. example.sh
或只是example.sh
)。我尝试了很多东西,但这样的事情似乎最有希望:
export j=1
export array$j=something
然后我尝试使用以下方法访问该值:
echo ${array[$j]} #doesn't work in child script
echo $(echo \$array$j) #displays the actual '$array1' instead of 'something'
有什么建议吗?
答案 0 :(得分:1)
您可以使用参数扩展通过间接查找值:
j=1
array1=something
name="array$j"
echo "The value of $name is ${!name}"