[英]How to loop through a list of arrays, created in the bash script
根据这篇文章中的建议,我正在bash脚本中创建数组列表- 如何在bash中声明2D数组 (Athos爵士编辑2)-
编辑2:要将a0..a3 [0..4]声明并初始化为0,可以运行:
for i in {0..3}; do
eval "declare -a a$i=( $(for j in {0..4}; do echo 0; done) )"
done
现在,我很难访问新创建的数组。 我试图遍历并重新创建与创建时相同的数组名称,但是导致“错误替换”错误。
for j in {0..3}; do
echo ${a$j[@]:0}
done
收到错误:
${a$i[@]:0}: bad substitution
关于如何访问阵列有什么想法? 最终,数组列表将更大并且可以动态创建。 这只是一个例子
您使用的方法不好。 使用来自同一问题的jm666可接受的答案 。
顺便说一句:
a1=("foo" "bar")
a2=("baz" "etc")
j=1
var="a$j[@]"
echo "The value of $var is:" "${!var}"
i=0;
var2="a$j[$i]"
echo "The value of $var2 is ${!var2}"
将打印
The value of a1[@] is: foo bar
The value of a1[0] is: foo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.