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

时间:2014-03-25 02:59:07

标签: 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[@]}")

1 个答案:

答案 0 :(得分:4)

试试这个:

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