在shell脚本中使用数组:可以理解为若干个变量存储在一段连续的内存空间,通过数组名引用这段内存空间

  declare,local,readonly都使用-a选项定义索引数组

                  使用-A选项定义关联数组

read也可以通过-a选项接受多个输入,并将其存储在数组中


declare -a ARRAY

  在bash中,数组中的元素也是通过下标进行单个赋值和引用的

  赋值:ARRAY[1]=hello

  引用:${ARRAY[1]}

也可以直接赋值

  ARRAY=(value1..value#)


bash中${#ARRAY[n]}:用于引用第n个元素包含的字符个数

    ${#ARRAY[*]}

    ${#ARRAY[@]}:都是用于引用数组中元素的个数


在bash脚本中使用选项:

   通过getopts命令可以实现

getopts:bash内置命令,只支持使用短选项,可以在选项之后支持参数,通过将识别的参数保存在变量中完成脚本中使用选项,含有内部变量

   使用格式:getopts optstring name [agu]

optstring:通过getopts命令定义的选项

name:将识别的选项保存为的变量

agu:选项的参数[可选]

  eg:getopts “bd“ OPT

将脚本后所带的选项保存在OPT变量中,可以通过echo $OPT查看

  注意:如果脚本之后所带的选项不是在getopts后定义的选项,这条命令的执行状态结果返回值仍然是0

  在输入的选项不是定义了的选项的时候,getopts会自动返回错误信息,如果需要将此错误信息屏蔽,在定义的选项之前加:实现

   getopts ”:bd“ OPT

  定义带参数的选项,需要在该选项的定义之后紧跟一个:

   getopts ”:b:d:“ OPT

 这就表示b和d两个选项都带有参数,选项带有的参数保存在getopts的内置变量中

getopts的内置变量:

   OPTARG:保存选项的参数

   OPTIND:保存对选项位置的指向