在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:保存对选项位置的指向
本文出自 “zxcvbnm玄烨” 博客,请务必保留此出处http://10764546.blog.51cto.com/10754546/1719308
原文:http://10764546.blog.51cto.com/10754546/1719308