Shell入门之数组

Posted 茅坤宝骏氹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于Shell入门之数组的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本从入门到复杂四(数组)

shell 之解释器变量字符串数组

Shell脚本入门 03:字符串与数组

shell脚本从入门到精通(中级)之提高篇

Linux系统shell脚本入门之break

linux shell 脚本入门学习(一变量数组传参)