shell脚本基础--数组

q1.数组数组

  咱们知道,变量就是内存里的存储空间,每一个变量只能够存储一个数据,进行一次性的赋值操做,那么遇到一些须要连续存储并读取的任务时,若是仍是依靠变量进行屡次存储,既不会保证内存空间的连续性,也大大下降了CPU的效率,这时就须要数组这一类型的变量出马了!bash

数组变量:ide

 数组简单来讲就是存放一个或多个元素的连续的内存空间,至关于多个变量的集合;函数

数组的索引有如下方式:
spa

   1.数字索引。称为索引数组 Index ARRAY;排序

     0,1,2,3....索引

   2.名称(字符串): 称为关联数组 Related ARRAY;内存

     bash4.0以上的版本才支持字符串

数组分为两种:稠密数组和稀疏数组it

  稠密数组:索引编号必须连续,相似于连续函数依次排序,没有断点;

  稀疏数组:索引编号能够不连续,bash数组就属于稀疏数组;

声明数组的方法:

  1.以前说到的declare命令,能够声明变量。

    -i NAME 声明整型变量

    -x NAME 声明环境变量

   一样,用它也能够声明数组变量

    -a:声明索引数组(if supported)

    -A:声明关联数组(if supported)

  2.直接声明数组

   直接为数组赋值:

    ARRAY_NAME=("value1" "value2" ...)  稠密数组

    ARRAY_NAME=([0]="value1" [5]="value2" ...)  稀疏数组

  3.定义数组的元素而建立数组

    ARRAY_NAME[0]=value1

    ARRAY_NAME[1]=value2

    ...

如下介绍对数组的操做:

1.引用数组的元素:

   引用数组元素的方式:${ARRAY_NAME[INDEX]}

     注意:若是不给出索引编号index,则表示引用数组的第一个元素

   引用整个数组全部元素:${ARRAY_NAME[*/@]}

   引用数组的索引:${!ARRAY_NAME[*/@]}

2.查看数组的长度:数组中有效元素的个数:

    ${#ARRAY_NAME[*/@]}

3.数组切片:

  ${ARRAY_NAME:offset}显示包括offset数字所表示的索引位置及之后的全部元素

4.追加元素:

  1).稠密数组:

   ARRAY_NAME[${#ARRAY_NAME[*]}]=valuex

  2).稀疏数组

   ARRAY_NAME[INDEX]=valuex  这里的index必须为未被使用的数组元素索引编号;

5.撤销数组

  unset ARRAY_NAME

6.删除数组的元素

  unset ARRAY_NAME[INDEX]

关于数组简单的记到这里,数组方便咱们对大量数据的存储,读取等操做,用处是大大的

相关文章
相关标签/搜索