(一 ) 数组的分类
1. 普通数组 : 只能使用整数作为数组索引
2. 关联数组: 可以使用字符串作为数组索引,shell 默认不支持关联数组,只有先明确声明才行
(二) 数组定义
1. 普通数组
注意:
以上方法二: array3=(`cat etcpasswd`) 的结果是希望将每一行作为元素给数组。但是实际情况也许不是。因为分隔符的原因。普通数组默认以空格作为分隔符来分割元素。但是可以指定分隔符来解决这个问题。具体做法: 指定 IFS=$'\n'.
方法二中: array5=([20]=puppt) 可以指定元素的下标或索引来定义数组哈
如果数组是在循环中被赋值的话,情况又有所不同了。在while中,本身就是以回车分割,但是在for中就要指定分隔符。IFS=$''\N'
以下是一个for中指定分隔符的例子,注意还原分隔符
2. 关联数组
先声明: declare -A info1
再定义: info1=([name]=hujianmei [age]=28 [sex]=girl)
数组还可以追加元素:
(三) 数组查看
1. 普通数组
关联数组普通数组都是用以下方式查看。关联数组[]里面写字符串就是了。
(四) 数组遍历
方法一: 按照数组个数来进行遍历 ------已过时
方法二: 通过数组与元素的索引进行遍历