shell 数组使用简介

Posted 旅途

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 数组使用简介相关的知识,希望对你有一定的参考价值。

数组简介

bash 只提供一维数组,并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标。下标可以是整数或算术表达式,其值应大于或等于 0。用户可以使用赋值语句对数组变量赋值。

数组赋值

  • 下标赋值

    $ students[0]=Jack
    $ students[1]=Alex
    $ students[2]=Amy

    也可以使用declare显式声明一个数组:

    $ declare -a 数组名
  • 直接赋值

    $ students=(Jack Alex Amy)
    或
    $ declare -a studentds=(Jack Alex Amy)
  • 命令赋值
    命令的输出格式如下

    $ ls
    Desktop   Downloads  Pictures  Templates  virtualenv  
    $ arr=($(ls))
  • 字典赋值
    可以通过declare -A命令声明字典

    $ declare -A dict=([key1]=val1 [key2]=val2)

访问数组

创建数组
$ students=(Jack Alex Amy)
  • 通过下标访问

    $ echo ${students[0]}
    Jack
    $ echo ${students[1]}
    Alex
    $ echo ${students[2]}
    Amy
  • 列出所有元素

    $ echo ${students[@]}
    Jack Alex Amy
    或
    $ echo ${students[*]}
    Jack Alex Amy

    @ 符号与 * 符号均可以列出所有元素

数组的其它操作

  • 获取数组长度

    $ echo ${#students[@]}
    3
  • 打印数组下标

    $ echo ${!students[@]}
    0 1 2

    也可以打印字典的key 值

    $ declare -A dict=([key1]=val1 [key2]=val2)
    $ echo ${!dict[@]}
    key2 key1
  • 删除数组

    $ unset 数组名


以上是关于shell 数组使用简介的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程入门

代码片段:Shell脚本实现重复执行和多进程

shell 之解释器变量字符串数组

VSCode自定义代码片段—— 数组的响应式方法

nodejs常用代码片段

VSCode自定义代码片段10—— 数组的响应式方法