shell陣列:是若干資料的集合,其中的每乙份資料都稱為元素,shell陣列元素的下標也是從0開始計數,
獲取陣列中的元素要使用下標[ ],下標可以是乙個整數,也可以是乙個結果為整數的表示式;下標必須大於等於0。
shell中,用小括號( )來表示陣列,陣列元素之間用空格來分隔。由此,定義陣列的一般形式為:
array_name=
(ele1 ele2 ele3 ... elen)
注意:賦值號=兩邊不能有空格,必須緊挨著陣列名和陣列元素
用小括號將變數值括起來賦值給陣列變數,每個變數值之間要用空格進行分隔
array1=(1 2 3 4 5 6)
echo $
#輸出定義陣列的所有元素
echo $
#輸出定義陣列的所有元素
echo $
#輸出陣列中下標為0的元素
1)採用鍵值對的形式賦值
arry=
(n1 n2 n3)
arry=([
0]=n1 [1]
=n2…)
(鍵值對形式,此時,陣列定義可以不從0開始,從指定位置開始。)
array2=([
1]=one [2]
=two [3]
=three)
echo $
echo $ #輸出定義陣列的個數
echo $
echo $ #輸出定義陣列的第乙個數
2)通過分別定義陣列變數的方法來定義
3)動態地定義陣列變數動態地定義陣列變數,並使用命令的輸出結果作為陣列的內容
列印單個陣列元素: $ #當未指定陣列下標時,下標預設從0開始
列印全部陣列內容:$或$
列印陣列元素的個數:$或$
如果下標不存在,則自動新增乙個新的元素;如果下標存在,則覆蓋原來的值。
因為陣列本質上還是變數,因此可以通過 unset 陣列[下標] 刪除相應的陣列元素刪除整個陣列:unset 陣列
#start代表從第幾個下標開始擷取,length表示擷取的長度
echo $
echo $
echo $
array2=($(
echo))
echo $
echo $
#從下標0開始擷取2個
echo $
#從下標4開始擷取10個
注意:替換完以後,原陣列的內容不會改變 Linux shell指令碼 (十六)shell函式
函式可以讓我們將乙個複雜功能劃分成若干模組,讓程式結構更加清晰,重複利用率更高。像其他程式語言一樣,shell 也支援函式。shell 函式必須先定義後使用。shell 函式的定義格式如下 function name 如果你願意,也可以在函式名前加上關鍵字 function function fun...
Shell指令碼學習筆記 陣列
shell只支援一維陣列,不支援多維陣列,初始化時不需要定義陣列大小。與大部分程式語言類似,shell陣列元素的下標從0開始。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應該大於等於0。shell陣列用括號來表示,元素用 空格 符號分隔開,可以不使用連續的下標,而且下標的範圍沒有限制...
shell指令碼學習總結02 陣列
bash同時支援普通陣列個關聯陣列,普通陣列只能使用整數作為陣列的索引,關聯陣列可以使用字串作為陣列的索引。陣列的定義方法 在單行中使用一列值定義乙個陣列 root new array1 123 456 使用索引 值定義 root new array2 0 test1 root new array2...