Shell编程之数组
一、数组的概念
1.1 数组定义方法
1、方法一
数组名=(value0 value1 value2 …)
2、方法二
数组名={[0]=value [1]=value [2]=value …}
3、方法三
列表名=“value0 value1 value2 …”
4、方法四:
数组名[0]=“value”
数组名[1]=“value”
数组名[2]=“value”
1.2 数据类型
1、数值类型
2、字符类型
1.3 数组的索引
第一个索引始终是数字 0,且添加到数组中的每个后续元素的索引以 1 为增量递增
读取某索引的赋值
arr=(1 2 3 4 5)
echo ${
arr[索引值]}
1.4 获取数组长度
arr_number=(1 2 3 4 5)
echo ${
#arr_number[*]}
二、数组增删改查
2.1 数组遍历
#!/bin/bash
arr_number=(1 2 3 4 5)
for i in ${
arr_number[@]}
do
echo $i
done
2.2 数组切片
获取数组中某一段数值
arr1=(1 2 3 4 5 6)
echo ${
arr1[*]}
echo ${
arr1[@]} #输出整个数组,此处*与@相同
echo ${
arr1[@]:0:2} #获取 ${数组名[@或*]:起始位置:长度} 的值
2.3 数组替换
替换原数组中的数值,包括临时替换和永久替换两种
格式:
${
数组名[*或@]/源参数值/将要替换的参数值}
#临时替换:将数组arr2中的参数值4替换为66,但原来的数组中的参数值并不会改变
echo ${
arr2[*]/4/66}
echo ${
arr2[*]}
永久替换:可通过重新赋值实现
arr2=(${
arr2[*]/4/66}