shell脚本——数组
连续的变量
解决:变量过多的问题,在同一类变量中,不需要定义多个名字,而是以数组的方式来定义
定义数组:
declare -I 定义整数
declare -a 定义数组
declare -A 定义嵌套数组
array=(值)
array=()
如何给数组赋值:
array=()
1.array[0]=whr (在计算机预言中,索引一般从0开始计算)
索引并不一定是数字:key-value array[whr]=1.78m
shel 中数组赋值,可以跳跃
2.array=(/var/log/*.log)
做遍历
array=(a b c d e)
3.array=('whr=178' 'wsl=175' …)
4.通过read命令来赋值
read -a a b c d e
如何去调用数组:
${数组名[索引]}
${数组名} 默认调用索引=0的值
${*} ${@} 所有元素
调用数组的长度:
length("变量")
${#变量名【*】}或者${#变量名[@]}
添加数组值的特殊方式
${变量名[$(#变量名[@])]}="值"
数组切片:
${变量名[@]:偏移量:所需取出的个数}
删除值:
unset 变量名[索引]