Shell入门(四)之数组

一、一维数组

  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

使用@符号或者*可以获取数组中的所有元素

#!/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

 

posted @ 2017-08-23 20:19  茅坤宝骏氹  阅读(195)  评论(0编辑  收藏  举报