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
如果您使用的是bash
4.3 或更高版本,请改用名称引用变量:
source ./myArraysFile
declare -n myVAR=myArr
printf '%s\n' "${myVAR[1]}"
上面的变量myVAR
是名称引用变量,用declare -n
和 value声明myArr
。这意味着每次访问myVAR
都会访问myArr
.