Shell数组
一:应用场景包括
获取数组长度
获取元素长度
遍历元素
元素切片
元素替换
元素删除
二:数组定义方法
方法一:
数组名=(value0 value1 value2 ...)
方法二:
数组名= ([0]=value [1]=value [2]=value ..)
方法三:
列表名="value0 value1 value2 ... "
数组名= ($列表名)
方法四:
数组名[0]="value"
数组名[1]="Value"
数组名[2]="value"
...
数组包括的数据类型:
-
数值类型
-
字符类型 : 使用 ”或“ 定义
数组元素之间使用空格隔开。
三:shell数组操作
- 获取数组长度
${数组名[@/*]}
- 读取某下标赋值
${数组名[下标]}
- 数组遍历
例如:定义一个数组 abc=(10 20 30)
数组的索引部分 : 从 0 1 2 3 …数起, 索引下标从0开始算起; 长度从1 开始算;
数组的长度,能存放多少数字,长度就是多少,不可越界。
四:实例
1、读取数组
读取数组元素的一般格式:
${array_name[index]}
示例:
#!/bin/bash
array=( one two three )
echo "第一个元素为: ${array[0]}"
echo "第二个元素为: ${array[1]}"
echo "第三个元素为: ${array[2]}"
执行脚本,结果:
第一个元素为: one
第二个元素为: two
第三个元素为: three
2、获取数组中的所有元素
使用 @ 或 * 可以获取数组中的所有元素
array=( one two three )
echo ${array[@]}
echo ${array[*]}
执行后,结果:
one two three
one two three
3、遍历数组
通过数组下标来遍历数组:
array=( one two three )
for i in ${!array[@]}
do
echo ${array[i]}
done
执行后结果:
one
two
three
组:
array=( one two three )
for i in ${!array[@]}
do
echo ${array[i]}
done
执行后结果:
one
two
three