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

    何为数组?数组的特性就是一组数据类型相同的集合(不包括有一些编程语言提出来的关联数组的概念)。那么shell中数组是怎么定义的呢,我们来看两种数据类型:

    一是数值类型,二是字符串类型;虽然shell本身是弱类型的,但也可以这么区分。

    定义数组:

    数组中可以存放多个值。Bash Shell只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与PHP类似)。

    与大部分编程语言类似,数组元素的下标由0开始

    在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

    使用数组

    1.读取数组

    读取数组元素值的一般格式是:

    ${数组名[下标]}

    例如:

    valuen=${array_name[n]}

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

    echo ${array_name[@]}

    读取数组元素值的一般格式是:

    ${array_name[index]}

    # vi cc.sh

    #!/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 cc.sh

    # ./cc.sh 

    获取数组中的所有元素

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

    #vi aa.sh

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

    获取数组的长度

    获取数组长度的方法与获取字符串长度的方法相同

     #vi dd.sh

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

    # ./dd.sh 

    数组的使用

  • 相关阅读:
    Eclipse在线安装spring-tool-suit插件
    使用Eclipse构建Maven项目
    uwsgi+flask环境中安装matplotlib
    开启flask调试
    linux进入软连接所指向的原目录
    eclipse打不开,报错 "java was started with exit code=13"
    gnuplot 的安装
    使用tcp_probe时最初没有输出,先卸载后加载模块之后就有了。
    一个简单的socket程序运行与抓包查看
    如何查看文件是dos格式还是unix格式的?
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/9879650.html
Copyright © 2011-2022 走看看