簡體   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