bash :: 使用导入的数组

bash :: 使用导入的数组
    myVAR='myArr'

. ./myArraysFile # external file with all my arrays, one of the arrays is myArr=('one' 'two' 'three')

我需要使用这个数组进行进一步的脚本编写

例子:

echo ${!myVAR}[1]  # I want it to print 'two'

或者

for here in 'place.one' 'place.two';do
    ssh ${!myVAR}[7]@$here
done

等等一个

答案1

如果您使用的是bash4.3 或更高版本,请改用名称引用变量:

source ./myArraysFile

declare -n myVAR=myArr
printf '%s\n' "${myVAR[1]}"

上面的变量myVAR是名称引用变量,用declare -n和 value声明myArr。这意味着每次访问myVAR都会访问myArr.

相关内容