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