shell数组简介
bash 支持一维数组(不支持多维数组),并且没有限定数组的大小。 类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以 是整数或算术表达式,其值应大于或等于 0。
shell数组定义方法
- 用括号()来定义,数组元素用"空格"符号分割开,见示例2
- 对数组值单个定义,下标可不连续,见示例,对不连续下标数组中不存在的下标打印无输出
数组的读取方法
- 读取单个元素${数组名[下标]}
echo ${array[n]}
4.读取整个数组—使用@或*
echo ${array[@]}
数组长度
使用#获取数组长度对字符串数组来说
例1
array=("hello" "how are you" "fine")
array1[0]="thank"
array1[2]="you"
array1[3]="and you"
len=${#array[@]} #获取数组的下标有效长度,这里为3
len1=${#array[0]}#获取数组单个数据长度,这里为5
len2=${#array1[@]}#这里为3,有效长度
例2
1 #!/bin/bash
2
3 array_str=("one" "two" "three")
4 array_int[0]=1
5 array_int[2]=2
6 array_int[3]=3
7 echo ${array_str[@]}
8 for i in {0..3}; do
9 echo ${array_int[$i]}
10 done
11 echo ${#array_str[*]}
12 echo ${#array_str[1]}