Arrays 从包含数组名称的字符串中获取数组的内容

Arrays 从包含数组名称的字符串中获取数组的内容,arrays,string,bash,dereference,Arrays,String,Bash,Dereference,假设我有以下代码: #!/bin/bash arrayName_1=( 3 4 5 ) arrayName_2=( 0 1 2 ) str="arrayName_1" arrayName=? 最后,我希望arrayName变量是一个包含3、4、5的数组,就像arrayName_1一样。我该如何做到这一点?我知道我可以做到以下几点,但我必须使用str而不是arrayName_1: arrayName=("${arrayName_1[@]}") 试试这个: arrayName_1=( 3 4

假设我有以下代码:

#!/bin/bash

arrayName_1=( 3 4 5 )
arrayName_2=( 0 1 2 )
str="arrayName_1"
arrayName=?
最后,我希望arrayName变量是一个包含3、4、5的数组,就像arrayName_1一样。我该如何做到这一点?我知道我可以做到以下几点,但我必须使用str而不是arrayName_1:

arrayName=("${arrayName_1[@]}")
试试这个:

arrayName_1=( 3 4 5 )
arrayName_2=( 0 1 2 )
name="arrayName_1"
indirect=$name"[@]"
arrayName=("${!indirect}")
试试这个:

arrayName_1=( 3 4 5 )
arrayName_2=( 0 1 2 )
name="arrayName_1"
indirect=$name"[@]"
arrayName=("${!indirect}")

令人惊叹的正是我想要的。太棒了!正是我想要的。