zoukankan      html  css  js  c++  java
  • shell 数组

    定义数组
    在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。

    定义数组的一般形式为: 数组名
    =(值1 值2 ... 值n)
    例如: array_name
    =(value0 value1 value2 value3) 或者 array_name=( value0 value1 value2 value3 ) 还可以单独定义数组的各个分量: array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen 可以不使用连续的下标,而且下标的范围没有限制。


     

    获取数组中的所有元素

    使用@ 或 * 可以获取数组中的所有元素,例如:

    
    
    #!/bin/bash
    my_array[0]=A
    my_array[1]=B
    my_array[2]=C
    my_array[3]=D
    echo "数组的元素为: ${my_array[*]}"
    echo "数组的元素为: ${my_array[@]}"
    
    

    执行脚本,输出结果如下所示:

    $ chmod +x test.sh 
    $ ./test.sh
    数组的元素为: A B C D
    数组的元素为: A B C D
    
    

    读取数组 读取数组元素值的一般格式是: ${数组名[下标]} 例如: valuen
    =${array_name[n]}
    使用 @ 符号可以获取数组中的所有元素,例如: echo ${array_name[@]}

    实例

    #!/bin/bash
    my_array=(A B "C" D)
    echo "第一个元素为: ${my_array[0]}"
    echo "第二个元素为: ${my_array[1]}"
    echo "第三个元素为: ${my_array[2]}"
    echo "第四个元素为: ${my_array[3]}"
    
    

    执行脚本,输出结果如下所示:

    $ chmod +x test.sh 
    $ ./test.sh
    第一个元素为: A
    第二个元素为: B
    第三个元素为: C
    第四个元素为: D
     


    获取数组的长度 获取数组长度的方法与获取字符串长度的方法相同,例如: # 取得数组元素的个数 length
    =${#array_name[@]} # 或者 length=${#array_name[*]}
    # 取得数组单个元素的长度 lengthn
    =${#array_name[n]}


    示例
    #!/bin/bash
    my_array[0]=A
    my_array[1]=B
    my_array[2]=C
    my_array[3]=D
    
    echo "数组元素个数为: ${#my_array[*]}"
    echo "数组元素个数为: ${#my_array[@]}"

    执行脚本,输出结果如下所示:

    $ chmod +x test.sh 
    $ ./test.sh
    数组元素个数为: 4
    数组元素个数为: 4

    数组的值中加入变量
    A=1
    my_array=($A B C D)
    echo "第一个元素为: ${my_array[0]}"
    echo "第二个元素为: ${my_array[1]}"
    echo "第三个元素为: ${my_array[2]}"
    echo "第四个元素为: ${my_array[3]}"

    输出:
    第一个元素为: 1第二个元素为: B第三个元素为: c第四个元素为: D

    数组索引可以为变量
    arr=(a b c d)
    i=2
    echo ${arr[i]}

      输出为:

      c

  • 相关阅读:
    Protobuf, understand the hood
    Linux下Matlab崩溃的解决方法
    高德地图AMapUI is not defined
    微信小程序
    js字符数组转化为数字数组
    高德地图网页端js API
    es6 函数的扩展(尾递归看不太懂,不浪费时间了)
    es6 数值扩展(正则稍微看了下,以后用得着再细看)
    vue清空表单
    es6 变量的解析复制
  • 原文地址:https://www.cnblogs.com/sea-stream/p/9876503.html
Copyright © 2011-2022 走看看