文章目录
一、数组定义方法
里面的value是指数值
方法一:
数组名=(value0 value1 vlaue2 value3 .....)
(30 20 10 60 50 40)
0 1 2 3 4 5
上方是指6个元素,索引是指下方从0开始排序,不一定要按顺序
方法二:
数组名=([0]=value [1]=value [2]=value [3]=value .......)
方法三:
列表名="value0 value1 value2 ...."
数组名=($列表名)
方法四:
数组名[0]="value"
数组名[1]="value"
数组名[2]="value"
例
方1:
[root@localhost opt]# yppy=(1 2 3 4 5)
[root@localhost opt]# echo $yppy
1
[root@localhost opt]# echo ${yppy[*]}
1 2 3 4 5
用普通的echo $变量名 输出只能输出第一个数
用echo ${变量名[*]} 可以输出所有
*换成@也行,不过如果加双引号的话只能用*代表整体,而@代表个体
方2:
[root@localhost opt]# yppy1=([0]=1 [2]=3 [3]=4 [4]=5)
[root@localhost opt]# echo ${yppy1[*]}
1 3 4 5
中间可缺少索引,并且之后可以再补上去
方3:
[root@localhost opt]# pypy="1 2 3 4 5"
[root@localhost opt]# echo $pypy
1 2 3 4 5
[root@localhost opt]# yppy2=($pypy)
[root@localhost opt]# echo ${yppy2[*]}
1 2 3 4 5
先用引号将元素括起来调用进一个变量名当做列表,再用这个列表名用小括号调用进数组名
方4:
[root@localhost opt]# yppy1[1]=2
[root@localhost opt]# echo ${yppy1[*]}
1 2 3 4 5
[root@localhost opt]# yppy1[1]=10
[root@localhost opt]# echo ${yppy1[*]}
1 10 3 4 5
这里yppy1[1]=2将之前方2缺少的索引1给补上去了
然后yppy1[1]=10,会将之前补的索引1给覆盖掉
方法一和方法四比较常用
二、数组包括的数据类型
-
数值类型
-
字符类型:
使用" "或’ '定义
三、获取数组长度
echo ${#变量名[*]}
例
[root@localhost opt]# echo ${yppy1[*]}
1 10 3 4 5
**[root@localhost opt]# echo ${#yppy1[*]}
5
在此命令的变量名开头加#,可以查看总长度,比如这个就是5个字符