LV020-数组
一、shell 数组
bash 支持一维数组(不支持多维数组),并且没有限定数组的大小。数组元素的下标由 0 开始。获取数组中的元素要用下标,下标可以是整数或算术表达式,其值应大于或等于0。
1. 怎么定义?
在 Shell 中,用括号来表示数组,数组元素用 <space> 符号分割开。
- 直接定义
shell
数组名=(值1 值2 ... 值n)例如:
shell
version=(v1 v2 v3)或者
shell
version=(v1
v2
v3)- 单独定义各个分量
shell
数组名[0]=值0
数组名[1]=值1
数组名[n]=值n【注意】可以不使用连续的下标,而且下标的范围没有限制。
2. 引用数组元素
- 获取数组中某个元素
shell
${arrayName[index]}【注意】 index 从 0 开始
- 获取数组中所有元素
shell
${arrayName[@]}
${arrayName[*]}3. 获取数组长度
3.1 使用格式
shell
length=${#arrayName[@]} # 取得数组元素的个数
length=${#arrayName[*]} # 取得数组元素的个数
lengthn=${#arrayName[n]} # 取得数组单个元素的长度3.2 使用实例
shell
#!/bin/bash
a=(v1.1 v2 v3.3 )
# 取得数组元素的个数
length=${#a[@]}
echo "a's length=${length}"
length=${#a[*]}
echo "a's length=${length}"
# 取得数组单个元素的长度
lengthn=${#a[0]}
echo "a[0]'s length=${lengthn}"
lengthn=${#a[1]}
echo "a[1]'s length=${lengthn}"
lengthn=${#a[n]}
echo "a[n]'s length=${lengthn}"运行结果如下:
shell
a's length=3
a's length=3
a[0]'s length=4
a[1]'s length=2
a[n]'s length=4