数组:用一个变量存储一组数据,并能够对这组数据中的某一个数据单独操作。

数组的类型:一维数组、二维数组、多维数组

变量的类型

Shell中默认无类型
变量的值默认均视为文本
用在数字运算中时,自动将其转换为整数

定义变量类型

declare:强制设置类型属性

语法:declare 选项 变量名

选项    注释
-i 强制为整数
-a 定义为数组
-x 设置为全局变量/环境变量
-r 设置为只读

-i:定义变量为数值类型

[root@localhost ~]# declare -i x=
[root@localhost ~]# declare -i y=
[root@localhost ~]# declare -i c=$x*$y
[root@localhost ~]# echo $c

-a:定义变量为数组类型

[root@localhost ~]# declare -a tea
[root@localhost ~]# declare -a | grep tea
declare -a tea='()'
[root@localhost ~]# tea=( plj hpg zhf zzg)
[root@localhost ~]# declare -a | grep tea
declare -a tea='([0]="plj" [1]="hpg" [2]="zhf" [3]="zzg")'

定义或赋值数组

方法1,整体赋值

格式                    示例
数组名=(值1 值2 ....值n) SVRS=(www ftp mail club)

方法2:单个元素赋值

格式    示例
数组名[下标]=值 ;下标从0开始 FQDNS[]=www.tarena.com

输出数组元素

    格式
获取单个数组元素 ${数组名[下标]}
获取所有数组元素 ${数组名[@]}
获取数组元素个数 ${#数组名[@]}
获取连续的多个数组元素 ${数组名[@]}:起始下标:元素个数
获取某个数组元素的长度 ${#数组名[下标]}
截取数组元素值的一部分 ${#数组名[下标]:起始下标:字符数}

特别提醒:

如果元素下标值已经被已有元素使用,是修改已有元素的值
如果元素下标值没有被已有元素使用,是向数组中添加新元素
如果给数组赋值时,元素列表为空,是删除数组中的所有元素
如果给数组赋值时,元素列表里输入新值,是重新给数组赋值。

05-11 22:12
查看更多