多语言展示
当前在线:1243今日阅读:39今日分享:10

Shell中数组的使用

Shell支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。0Shell中的注释及字符串
工具/原料

CentOS 7.2

方法/步骤
1

定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为array_name=(value1 ... valuen)或array_name=(value1 ... valuen)注:等号之间不能用空格

2

还可以单独定义数组的各个分量:array_name[0]=value0array_name[1]=value1array_name[2]=value2可以不使用连续的下标,而且下标的范围没有限制。有点类似于c/c++中的map

3

读取数组读取数组元素值的一般格式是:${array_name[index]}如:#!/bin/shNAME[0]='Zara'NAME[1]='Qadir'NAME[2]='Mahnaz'NAME[3]='Ayan'NAME[4]='Daisy'echo 'First Index: ${NAME[0]}'echo 'Second Index: ${NAME[1]}'

4

使用@ 或 * 可以获取数组中的所有元素,例如:纯文本复制${array_name[*]}${array_name[@]}如:#!/bin/shNAME[0]='Zara'NAME[1]='Qadir'NAME[2]='Mahnaz'NAME[3]='Ayan'NAME[4]='Daisy'echo 'First Method: ${NAME[*]}'echo 'Second Method: ${NAME[@]}'

5

获取数组的长度获取数组长度的方法与获取字符串长度的方法相同,例如:# 取得数组元素的个数length=${#array_name[@]}# 或者length=${#array_name[*]}# 取得数组单个元素的长度lengthn=${#array_name[n]}

6

执行结果为

推荐信息