zoukankan      html  css  js  c++  java
  • 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 数组名
    
  • 相关阅读:
    YARN 多租户资源池配置
    HDFS NameNode HA 部署文档
    MySQL 触发器示例
    Apache ZooKeeper 单机、集群部署文档
    Apache Flume 安装文档、日志收集
    IBM X3650 M4 主板故障
    Apache Hive 安装文档
    Apache Hadoop 集群安装文档
    Cloudera Manger CDH 安装文档
    VMware 克隆网卡无法启动
  • 原文地址:https://www.cnblogs.com/technologylife/p/7978545.html
Copyright © 2011-2022 走看看