标签:数组
本文旨在复习Shell脚本编程中数组的定义和赋值、读取数组、以及获取数组的长度
知识储备
数组:连续的多个独立的内存空间,每个内存空间相当于一个变量
在逻辑上,我们看到的数组是“连续的”,但是映射到真实物理内存空间上是“杂乱的”
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
数组2元素:数组名[索引],依据索引的不同可以分为以下2种
数组定义和赋值
Shell中,用括号来表示数组,数组元素用“空格”符号分割开。
● 定义数组的一般形式为:
1 | array_name=(value1 value2 ... valueN) |
● 赋值方式
(1)一次赋值一个元素
1 | array[index]=value |
(2)一次复制全部元素
1 | array=("val1" "val2" ...) |
(3)指定索引进行赋值
1 | array=([0]="val1" [3]="val2") |
(4)从用户交互式输入赋值
1 | read -a array |
读取数组[引用数组]
● 读取数组指定索引的元素值的一般格式是:
1 | ${array[index]} |
● 还可以一次读取所有数组中元素
1 | ${array[*]} |
例1:输入5个数字,存入数组,引用该数组倒序输出这5个数字
代码实现
1 | #!/bin/bash |
获取数组长度
获取数组长度分为获取数组元素个数,还可以获取指定索引元素值的长度
● 获取数组元素的个数,一般格式为:
1 | length=${#array[@]} |
例1:请注意#千万不能省略,看下面这个例子
请注意:当#号省略后,就变成了将数组所有元素复制给变量length,如果要打印个数请记得#
● 获取指定索引数元素值长度,一般格式为:
1 | length=${#array[index]} |
例2:获取上述例子中第二个元素color的长度值
本文出自 “蓝色仓库” 博客,请务必保留此出处http://bluebox.blog.51cto.com/8852456/1697256
标签:数组
原文地址:http://bluebox.blog.51cto.com/8852456/1697256