Linux之数组(除了头疼还有啥!)
文章目录
一、数组的概念
1.定义数组方法
数组:(30 20 10 60 50 40)
索引值:0 1 2 3 4 5
方法1:
数组名=(value0 value1 value2 …)
例:
[root@localhost ~]#qwe=(7 4 1 8 5 2)
[root@localhost ~]#echo ${qwe[*]}
7 4 1 8 5 2
[root@localhost ~]#echo ${qwe[@]}
7 4 1 8 5 2
方法2:
数组名=([0]=value [1]=value [2]=value …)
例:
[root@localhost ~]#asd=([0]=9 [1]=6 [2]=3)
[root@localhost ~]#echo ${asd[@]}
9 6 3
方法3:
列表名="value0 value1 value2 …"
数组名=($列表名)
例:
[root@localhost ~]#zxc="7 8 9 4 5 6"
[root@localhost ~]#qaz=($zxc)
[root@localhost ~]#echo ${qaz[@]}
7 8 9 4 5 6
方法4:
数组名[0]="value"
数组名[1]="value"
数组名[2]="value"
例:
[root@localhost ~]#wsx[0]=3
[root@localhost ~]#wsx[1]=2
[root@localhost ~]#wsx[2]=1
[root@localhost ~]#echo ${wsx[@]}
3 2 1
2.数组包括的数据类型
1)数值类型
2)字符类型(字符串)
使用" "或’'定义,防止元素当中有空格,元素按空格分割
3.获取数组长度
arr_number=(1 2 3 4 5)
echo ${#arr_number[*]}
或者echo ${#arr_number[@]}
例:
[root@localhost ~]#arr=(9 5 1 7 5 3)
[root@localhost ~]#echo ${#arr[*]}
6
[root@localhost ~]#echo ${#arr[@]}
6
4.读取某个下标赋值
arr=(1 2 3 4 5)
echo ${arr[索引值]}
例:
[root@localhost ~]#arr=(9 5 1 7 5 3)
[root@localhost ~]#echo ${#arr[@]} #查看数组长度
6
[root@localhost ~]#echo ${arr[0]} #查看索引为0的参数
9
[root@localhost ~]#echo ${arr[1]}
5
[root@localhost ~]#echo ${arr[2]}
1
[root@localhost ~]#echo ${arr[3]}
7
二、数组的处理
1.数组遍历
[root@localhost ~]#vim bianli.sh
[root@localhost ~]#chmod +x bianli.sh
[root@localhost ~]#./bianli.sh
1
2
3
4
5
[root@localhost ~]#cat bianli.sh
#!/bin/bash
arr2=(1 2 3 4 5) #定义数组
for i in ${arr2[*]} #依次输出每个索引所对应的参数
do
echo $i
done