陣列定義:
1
arr=(1
2345
)# 注意是用空格分開,不是逗號!!
陣列定義法2:
12
3
4
array
array[0
]="a"
array[1
]="b"
array[2
]="c"
獲取陣列的length(陣列中有幾個元素):
1
$
遍歷(for迴圈法):
12
3
4
forvarin$;
doecho
$var
done
遍歷(帶陣列下標):
1
2
3
fori
in"$";do
printf
"%s\t%s\n"
"$i"
"$" done
遍歷(while迴圈法):
12
3
4
5
6 i
=0while[$
i-lt$
] do
echo$
leti++
done
向函式傳遞陣列:
由於shell對陣列的支援並不號,所以這是乙個比較麻煩的問題。
翻看了很多stackoverflow的帖子,除了全域性變數外,無完美解法。
這裡提供乙個變通的思路,我們可以在呼叫函式前,將陣列轉化為字串。
在函式中,讀取字串,並且分為陣列,達到目的。
12
3
4
5
6
7
8
9
10
11
12
fun()
for((i
=0;i
<
$_n_arr;i
++));
do elem=$
echo
"$i : $elem"
done;
}array=(
abc)
fun"$(echo $)"
Shell程式設計中的陣列定義 遍歷
陣列定義法1 arr 1 2 3 4 5 注意是用空格分開,不是逗號!陣列定義法2 array array 0 a array 1 b array 2 c 獲取陣列的length 陣列中有幾個元素 遍歷 for迴圈法 for var in do echo var done 遍歷 帶陣列下標 for ...
linux shell程式設計中的陣列定義 遍歷
如下 1 陣列定義法1 2 arr 123 45 注意是用空格分開,不是逗號!34 陣列定義法2 5array 6 array 0 a 7 array 1 b 8 array 2 c 910獲取陣列的length 陣列中有幾個元素 11 1213 遍歷 for迴圈法 14for var in 15 ...
Shell陣列 shell陣列的定義 陣列長度
shell在程式設計方面比windows批處理強大很多,無論是在迴圈 運算。bash支援一維陣列 不支援多維陣列 並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。在shell中,用括號來表示陣列,陣列元素用...