1、数组的定义方法:
1)、数组名=(value0 value1 value2 value3 value4 value5);
2)、数组名[0]=“value”
数组名[1]=“value”
数组名[2]=“value”
数组包括的数据类型:数值类型,字符类型:字符类型使用" ",或者’ ’
2、获取数组的长度:
abc=(1 2 3 4 5)
abc_length=${#abc[]}
[root@localhost ~]# echo $abc_lengh
5、数组遍历:
[root@localhost ~]# for i in ${abc[]}
> do
> echo $i
> done
1
2
3
4
5
6、数组切片:
[root@localhost ~]# echo ${abc[*]:2:3}
[root@localhost ~]# echo ${abc[@]:2:3}
两种表达方式
3 4 5
第一个:为起始位置,第二个:为长度
7、删除数组:
unset abc 删除整个数组
删除指定的位置:
[root@localhost ~]# unset abc[3]
[root@localhost ~]# echo $abc
1
[root@localhost ~]# echo ${abc[@]}
1 2 3 5
[root@localhost ~]# echo ${abc[]}
1 2 3 5
8、添加数组:
[root@localhost ~]# abc+=(11 12 14)
[root@localhost ~]# echo ${abc[]}
1 2 3 5 11 12 14
9、冒泡排序:
#!/bin/bash
score=(1 10 66 20 11 88 6 19)
for ((i=1;i<\${#score[*]};i++))
do
for ((j=0;j<${#score[*]}-i;j++))
do
if [ ${score[$j]} -lt ${score[$[$j+1]]} ]
then
temp=${score[$j]}
score[$j]=${score[$[$j+1]]}
score[$[$j+1]]=$temp
fi
done
done
echo ${score[*]}
10、反向排序:
#!/bin/bash
abc=(10 20 30 40 50 60 70)
length=${#abc[*]}
echo "没有反转之前的数组:${abc[*]}"
for (( i=0;i<$length/2;i++))
do
temp=${abc[$i]}
abc[$i]=${abc[$length-$i-1]}
abc[$length-$i-1]=$temp
done
echo "反转之后的数组:${abc[*]}"