以下命令,都是以陣列array=("20150417" "20150416" "20150415")為例。
注意bash中只支援一維陣列,沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。
【陣列定義】:
說明:陣列元素的間隔符可以是空格,也可以是回車換行。例如:
1、使用空格定義的:
array=("20150417" "20150416" "20150415")
2、使用回車換行定義的:
array=(20150415
20150417)
3、單獨給陣列元素賦值的定義方式:
array[0]=test0
array[1]=test1
array[18]=t18
array[23]=test23
可見這種方式的賦值時,陣列元素下標可以不連續,而且不會限制你是用的陣列元素下標的大小。
【陣列元素的獲取】
1、獲取陣列中某個元素的值:
$array[0]
按照本文開始的定義,這個值就是20150417,及想獲取第n個值就寫$array[n-1],如果n超過了陣列元素個數,這個值就是0.
2、獲取陣列中所有的元素:
$array[@] 或$array[0]
3、獲取陣列中的元素個數:
獲取陣列長度的方法與獲取字串長度的方法類似(比如$):
$ 或 $
4、獲取陣列元素的所有下角標:
$ 或 $
當然如果只想獲取第n個元素的下角標(即為n-1),只需要使用$即可(這樣看起來可能有點多此一舉了,因為第n個元素的下角標就是n-1,而之所以有這中方式來獲取,是因為有些時候你不確定陣列元素有多少個,而要一一獲取到這些元素的下角標,用上面的方式即可。)
shell指令碼中的陣列
以下命令,都是以陣列array 20150417 20150416 20150415 為例。注意bash中只支援一維陣列,沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。陣列定義 說明 陣列元素的間隔符可以是空...
shell指令碼中的函式, shell中的陣列
示例1 bin bash 函式的使用 input input 1 a b root second fun.sh 1 a 3 fun.sh 示例2 bin bash 傳遞乙個引數給函式 input read p please input n input root second fun.sh pleas...
Shell指令碼之陣列
陣列是存放相同型別資料的集合,陣列中可以存放多個值,經常配合迴圈語句進行使用。例如 有乙個陣列 num 15 16 17 18 19 陣列名稱 num 陣列元素 第1個 11 陣列長度 5 陣列下標 元素18所對應的下標為3shell 陣列用括號來表示,元素用 空格 符號分割開,語法格式如下 方法一...