02-数组

nobility 发布于 2023-10-07 03-Shell脚本编程 585 次阅读


数组

数组定义

  • 使用赋值的方式为每个元素赋值
arr[0]=val0
arr[1]=val1
  • 使用括号获取来并且以空格或回车分开的各个元素
arr=(val0 val1)
#
arr=(
	'val1'
	"val2"
)
  • 使用map结构赋值方式,这样顺序就不重要了
arr=([0]=val0 [1]=val1)

数组使用

  • 与其他编程语言一样,使用变量后跟方括号去变量的值,但是需要使用${arr[index]}形式,否则会将方括号前当作一个普通非数组变量的字符串,只会输出第一个元素和方括号字符串,当然普通变量也可以放到该包裹中使用
    • 下标从0开始
    • 像js一样可以跳格赋值,空位是空字符串
    • 若想根据数组元素的值获取索引下标则使用${!arr[val]}的形式即可
    • 若取出所有变量则方括号中是*号,如arr[*]
    • 数组的长度(数组的元素个数):${#arr[*]}

数组操作

  • 截取子数组:${arr[*]:start:length}
    • arr:是要截取的数组,先将所有元素取出来
    • index:开始截取的下标位置,负数代表倒数
    • legth:截取的长度,负数会倒着截取,省略会截取到字符串结尾
  • 合并数组:arr1+=arr2,将arr2中的元素复制一份到arr1
  • 删除数组元素:可以使用unset 删除数组元素,这与给变量赋值为空字符串是相同的效果
加油啊!即便没有转生到异世界,也要拿出真本事!!!\(`Δ’)/
最后更新于 2023-10-07