bash支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。
在shell中,用括號來表示陣列,陣列元素用「空格」符號分割開。定義陣列的一般形式為:
array_name=(value1 ... valuen)
例如:
array_name還可以單獨定義陣列的各個分量:=(value0 value1 value2 value3)
array_name[0]=value0可以不使用連續的下標,而且下標的範圍沒有限制。array_name[1]=value1
array_name[2]=value2
讀取陣列元素值的一般格式是:
$例如:
value=$舉個例子:
#!/bin/sh執行指令碼,輸出:num[0]=
"0"num[1]=
"1"num[2]=
"2"num[3]=
"3"num[4]=
"4"echo"$
"echo"$
"
$./test.sh01使用@ 或 * 可以獲取陣列中的所有元素,例如:
$舉個例子:$
#!/bin/sh執行指令碼,輸出:num[0]=
"0"num[1]=
"1"num[2]=
"2"num[3]=
"3"num[4]=
"4"echo
"first method: $"
echo
"second method: $"
$./test.sh獲取陣列長度的方法與獲取字串長度的方法相同,例如:first method: 012
34second method: 012
34
# 取得陣列元素的個數length=$
# 或者
length=$
# 取得陣列單個元素的長度
lengthn=$
#n表示陣列的具體某個下標
sh 指令碼語法
介紹 1 開頭 程式必須以下面的行開始 必須方在檔案的第一行 bin sh 符號 用來告訴系統它後面的引數是用來執行該檔案的程式。在這個例子中我們使用 bin sh來執行程式。當編寫指令碼完成時,如果要執行該指令碼,還必須使其可執行。要使編寫指令碼可執行 編譯 chmod x filename 這樣...
sh 指令碼語法
介紹 1 開頭 程式必須以下面的行開始 必須方在檔案的第一行 bin sh 符號 用來告訴系統它後面的引數是用來執行該檔案的程式。在這個例子中我們使用 bin sh來執行程式。當編寫指令碼完成時,如果要執行該指令碼,還必須使其可執行。要使編寫指令碼可執行 編譯 chmod x filename 這樣...
linux shell指令碼案例四 陣列
1.單獨定義陣列的分量 arryname 0 dinfo arryname 1 is arryname 2 a arryname 3 liar 2.第二種方式,陣列的元素用空格隔開 dinfo dinfo is rubbish 3.獲取陣列的長度 chang echo 陣列的長度為 陣列的案例 bi...