【发布时间】:2018-07-22 22:22:14
【问题描述】:
如何在 bash 中使用动态数组变量名?
numCounter=1
arrayIndex=0
arr$numCounter[$arrayIndex]=0
((arrayIndex++))
arr$numCounter[$arrayIndex]=1
我希望这会返回
arr1[0] is 0
arr1[1] is 1
我想要做的是有 n 个数组并在每个数组中存储 x 个文件。
var1=1
arrayFolder(var1)[index0] = file1
arrayFolder(var1)[index1] = file2
arrayFolder(var1)[index2] = file3
var1=2
arrayFolder(var1)[index0] = file4
arrayFolder(var1)[index1] = file5
arrayFolder(var1)[index2] = file6
Expected result
arrayFolder1[0]=file1
arrayFolder1[1]=file2
arrayFolder1[2]=file3
arrayFolder2[0]=file4
arrayFolder2[1]=file5
arrayFolder2[2]=file6
我怎样才能做到这一点?
【问题讨论】:
-
您最近不是问过这个问题并得到了重复的问题指针吗?展示您如何尝试应用该答案以及如何失败会有所帮助。
-
declare "arr$numCounter[$arrayIndex]"=0; ((arrayIndex++)); declare "arr$numCounter[$arrayIndex]"=1应该可以工作 -
(...ahh, assign to a bash array indirectly by dynamically constructed variable 是我结束您之前的问题的答案。这个问题比您昨天的上一个问题好多问 - 并且 谢谢你付出的努力;既然你付出了努力,我假设你也有一个独特而独特的问题,但对我来说,这个问题没有被涵盖的地方仍然不明显前一个;你能edit 更明确一点吗?)
-
(要清楚——这个问题问得足够好,即使它最终被当作骗子关闭,我也会要求你不要删除它——好的重复项会为网站只要他们设置了额外的搜索词,将某人引导到我们认为是规范实例的任何问题)。