Shell程式設計中的陣列定義 遍歷

2021-07-25 09:42:31 字數 792 閱讀 8538

陣列定義法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 i in "$";

do printf "%s\t%s\n" "$i" "$"

done

遍歷(while迴圈法):

i=0while [ $i -lt $ ]

do echo $

let i++

done

向函式傳遞陣列:

由於shell對陣列的支援並不號,所以這是乙個比較麻煩的問題。

翻看了很多stackoverflow的帖子,除了全域性變數外,無完美解法。

這裡提供乙個變通的思路,我們可以在呼叫函式前,將陣列轉化為字串。

在函式中,讀取字串,並且分為陣列,達到目的。

fun()

for((i=0;i<$_n_arr;i++));

do

elem=$

echo "$i : $elem"

done; }

array=(a b c)

fun "$(echo $)"

Shell程式設計中的陣列定義 遍歷

陣列定義 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 遍歷 ...

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中,用括號來表示陣列,陣列元素用...