shell中数组的使用方法

马谦马谦马谦 2018年5月4日11:23:43 发表评论
文章最后编辑于:2018-5-17 20:24:25

一、声明数组

数组的声明有以下几种方式:

  • 直接赋值:arr[0]="0" arr[1]="1" arr[2]="2"
  • declare声明:declare -a arr2
  • 小括号空格:arr3=("1" "2" "3")
  • 引号空格:arr4="1 2 3"
  • 混合声明:arr5=([0]="0" [1]="1" [2]="2")

引号空格法在某些时候可能会引起错误,更常用小括号空格法。

二、遍历数组

遍历数组有两种方式,一种是标准的for循环,一种是for..in形式。

输出:

注意事项

对于以上面第四种方式(引号空格法)定义的数组在使用这两个for循环时结果有所不同。

输出:

可见,使用引号空格法构造的数组在使用标准for循环时把数组当成了一个元素,而for..in形式则正确输出。

三、其他用法

3.1 获取数组长度

获取数据长度有两种形式:${{ '{#' }}arr[@]}${{ '{#' }}arr[*]},通过引号空格法创建的数组长度为1

3.2 删除数组和数组元素

删除数组元素

输出:

删除数组

3.3 切片

shell数组有类似python和golang中的数组切片功能:

输出:

本文共执行44次查询,耗时0.262秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: