• shell数组的用法


    在shell里面想获取某个变量的值,使用$符开头,如:$a或者${a}即可。
      获取数组长度
      arr_length=${#arr_number[*]}或${#arr_number[@]}均可,即形式:${#数组名[@/*]} 可得到数组的长度。
      读取某个下标的值
      arr_index2=${arr_number[2]},即形式:${数组名[下标]}
      删除操作
        清除某个元素:unset arr_number[1],这里清除下标为1的数组;
        清空整个数组:unset arr_number;
      分片访问
        分片访问形式为:${数组名[@或*]:开始下标:结束下标},注意,不包括结束下标元素的值。
        例如:${arr_number[@]:1:4},这里分片访问从下标为1开始,元素个数为4。
        ${hosts[*]:0:6}取前六个元素
        : 3 跳过3个
        : -3 只取倒数3个(单个负数要加空格)
        :3:4 跳过3个取4个
        :3:-4 除了前三后4只要中间
      模式替换
        形式为:${数组名[@或*]/模式/新值}
        例如:${arr_number[@]/2/98}
      数组的遍历
        数组遍历我们使用for语句来演示:
        for v in ${arr_number[@]}; do
          echo $v;
        done

      判断元素是否在数组内: 

        project=$1
        projects=( 'project1',‘project2’ ) #数组

        if [[ ${projects[*]} =~ $project ]]; then #使用@ 或 * 可以获取数组中的所有元素,=~是正则匹配
            echo `date +"%Y-%m-%d %H:%M:%S"`" 开始检查工程$project"
        else
          echo `date +"%Y-%m-%d %H:%M:%S"`" 参数指定错误,工程${project}不在监控列表"
        exit 255 #自定义退出代码
        fi

    字典:
    #!/bin/bash

    echo "shell定义字典"
    #必须先声明
    declare -A dic
    dic=([key1]="value1" [key2]="value2" [key3]="value3")
    #追加字典
    dic+=([key4]="value4" [key5]="value5" [key6]="value5")
    echo ${#dic[@]}

    #打印指定key的value
    echo ${dic["key1"]}
    #打印所有key值
    echo ${!dic[*]}
    #打印所有value
    echo ${dic[*]}

    #遍历key值
    for key in $(echo ${!dic[*]})
    do
    echo "$key : ${dic[$key]}"
    done

    echo "shell定义数组"

    #数组
    list=("value1" "value2" "value3")
    #打印指定下标
    echo ${list[1]}
    #打印所有下标
    echo ${!list[*]}
    #打印数组下标
    echo ${list[*]}
    #数组增加一个元素
    list=("${list[@]}" "value3")

  • 相关阅读:
    设计模式系列
    设计模式系列
    【ABAP系列】SAP ABAP DYNP_VALUES_UPDATE 更新屏幕字段的函数及用法
    【HANA系列】SAP HANA 2.0简介
    【HANA系列】SAP HANA Studio使用insufficient privilege 问题
    【HANA系列】SAP HANA Studio出现"Fetching Children..."问题
    【ABAP系列】SAP ABAP smartforms设备类型CNSAPWIN不支持页格式ZXXX
    【BW系列】SAP BW实时抽取ECC数据的实现
    【ABAP系列】SAP ABAP 行列转换的方法
    【HANA系列】SAP HANA数据处理的理解与分析一
  • 原文地址:https://www.cnblogs.com/jinxf/p/10410889.html
Copyright © 2020-2023  润新知