要么改变世界,要么适应世界

shell使用数组

2020-04-19 14:49:00
336
目录

定义数组

使用括号定义数组,定义的时候可以用元素进行初始化,也可以直接定义:

array1=()
array2=(item1 item2 item3)

访问数组:

一般格式是:

${arrayName[index]}

例如:

echo ${array2[1]}

数组的下标跟C语言一样是从0开始的,所以上面输出的是item2

也可以访问全部元素,下面两种方法是等价的:

echo ${array2[*]}
echo ${array2[@]}

追加元素

array2[50]="abc"
array2[30]="def"

然后让我们看一下现在的数组是怎么样子的:

#!/bin/bash
array1=()
array2=(item1 item2 item3)
array2[50]="abc"
array2[30]="def"
echo ${array2[*]}
------------------------------
yalexin@yalexin-PC:/usr/study$ ./array.sh
item1 item2 item3 def abc

可以发现,追加元素时候下标不需要是连续的,当我们输出全部元素的时候,元素是空值的会自动省略。

获取长度:

len=${#array2[*]}

或者

len=${#array2[@]}

也可以获取数组元素的长度:

indexLen=${#array2[50]}

这里的indexLen指的是元素的字符个数。

历史评论
开始评论