美文网首页
shell 数组

shell 数组

作者: 衣介书生 | 来源:发表于2020-03-06 22:45 被阅读0次

    数组

    定义,新增,修改,删除,遍历,取值,长度,连接

    #!/bin/bash
     
    ########################################
    # 定义
    ########################################
    # 方式 1
     declare -a names_a
     names_a[0]=Tom
     names_a[1]=Jack
     names_a[2]=Jerry
    
    # 方式 2
    declare -a names_b=(Tom Jack)
    names_b[2]=Jerry
    
    # 方式 3
    names_c=(Tom Jack Jerry)
    
    ########################################
    # 新增或修改
    ########################################
    names_c[2]=Pett  # 数组没有对应的下标索引,则为新增
    names_c[3]=Mary  # 数组有对应的下标索引,则为修改
    
    ########################################
    # 取值
    ########################################
    echo ${names_a[0]}  # Tom
    echo ${names_a[1]}  # Jack
    echo ${names_a[2]}  # Jerry
    echo ${names_a[@]}  # Tom Jack Jerry
    echo ${names_a[*]}  # Tom Jack Jerry
    echo ${names_a}  # Tom,等价于 echo ${names_a[0]}
    
    ########################################
    # 长度
    ########################################
    echo ${#names_a[@]}  # 3
    echo ${#names_a[*]}  # 3
    
    ########################################
    # 遍历
    ########################################
    echo "for loop names_a"
    for name in ${names_a[@]}
    do
       echo $name
    done
    
    echo "for loop names_b"
    for name in ${names_b[*]}
    do
       echo $name
    done
    
    echo "for loop names_c"  # 带索引的遍历
    for idx in ${!names_c[@]}
    do
       echo "${idx}: ${names_c[$idx]}"
    done
    
    ########################################
    # 删除
    ########################################
    unset names_a[0]  # 删除数组指定索引位置的元素
    echo ${names_a[@]}
    unset names_a  # 删除数组
    echo ${names_a[@]}
    
    ########################################
    # 连接
    ########################################
    names_d=(${names_b[@]} ${names_c[@]})
    echo ${#names_d[@]}
    echo ${names_d[@]}
    

    相关文章

      网友评论

          本文标题:shell 数组

          本文链接:https://www.haomeiwen.com/subject/lcparhtx.html