1. 程式人生 > >Shell入門(四)之數組

Shell入門(四)之數組

定義 col 元素 array 多維 開始 code logs shel

一、一維數組

  bash支持一維數組(不支持多維數組),並且沒有限定數組的大小。

  類似與C語言,數組元素的下標由0開始編號。

二、定義數組

在Shell中,用括號來表示數組,數組元素用"空格"符號分割開。

array_name=(value0 value1 value2 value3)

array_name=( value0

value1

value2

value3 )

array_name[0]=value0

array_name[1]=value1

array_name[n]=valuen

可以不使用連續的下標,而且下標的範圍沒有限制。

#!/bin/bash
a=( 1 2 3 4 )
b=(11 
 12
 13
 14)
c[0]=21
c[2]=22
c[3]=23
c[4]=24
echo  ${a[@]}     #1 2 3 4
echo  ${b[@]}     #11 12 13 14
echo  ${c[@]}     #21 22 23 24

三、讀數組

${數組名[下標]}

#!/bin/bash
a=( 1 2 3 4 )
echo  ${a[1]}     #2

[email protected]

*/*可以獲取數組中的所有元素

#!/bin/bash
a=( 1 2 3 4 )
echo  ${a[@]}     #1 2 3 4
echo  ${a[*]}     #1 2 3 4

四、數組的長度

${#a[@]}或${#a[*]}取數組的長度
${#a[n]}取的是a[n]轉成string的長度
#!/bin/bash
a=( 111 2 3 4 5 )
echo  ${#a[@]}     #5
echo  ${#a[*]}     #5
echo  ${#a[0]}     #3
echo  ${#a[5]}     #0
echo  ${#a[n]}     #3

Shell入門(四)之數組