繁体   English   中英

如何遍历在bash脚本中创建的数组列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM