shell中数组的使用方法

马谦马谦马谦 Shell评论303字数 783阅读2分36秒阅读模式

一、声明数组

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

  • 直接赋值: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中的数组切片功能:

输出:

 最后更新:2018-5-17
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2018年5月4日11:23:43
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/shell/the-usage-of-shell-array.html
[leetcode-shell]192-统计词频 Shell

[leetcode-shell]192-统计词频

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/word-frequency 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处...
[leetcode-shell]195-第十行 Shell

[leetcode-shell]195-第十行

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/tenth-line 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 一、...
shell的比较运算符 Shell

shell的比较运算符

shell中用来比较大小的运算符有:eq, ne, gt, lt, ge, le 具体为: -eq:等于 -ne:不等于 -gt:大于 -lt:小于 -ge:大于等于 -le: 小于等于于
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证