zoukankan      html  css  js  c++  java
  • linux shell 中数组的定义和for循环遍历的方法

    linux 中定义一个数据的语法为:
    variable=(arg1 arg2 arg3 ....)

    中间用空格分开。数组的下标从0开始。

    1 获取下标为n的元素:
    variable[n]
    而且不存在数组下标溢出的情况,如果 n>= 数组的长度,那么为空,不会报错。


    2 获取数组长度
    ${#variable[@]}
    或者
    ${#variable[*]}


    那么如何用for遍历呢?一共有两种方式:

    1 for i in ${variable[@]}; do
    2 for i in $(seq 0 ${#variable[@]}); do
    以上两种方法 把 @ 换成 * 也行。

    1、怎么声明一个数组变量?
    array[0]=”Zero”
    array[1]=”One”
    array[2]=”Two”

    declare -a array

    小括号空格法:
    array=(Zero One Two)

    引号空格法:
    array=”Zero One Two”

    遍历:
    for(( i=0;i<${#array[@]};i++)) do echo ${array[i]}; done;
    Zero
    One
    Two


    for i in ${array[@]};do echo $i ;done
    Zero
    One
    Two


    3、获取数组的长度
    [ chenqing@Qing ~ ] echo ${#array[@]}
    3
    [ chenqing@Qing ~ ] echo ${#array[*]}
    3


    4、删除数组元素
    [ chenqing@Qing ~ ] unset array[0]
    [ chenqing@Qing ~ ] echo ${#array[@]}
    2
    [ chenqing@Qing ~ ] for i in ${array[@]};do echo $i ;done
    One
    Two

    5、删除数组
    unset array


    6、和python一样的切片
    [ chenqing@Qing ~ ] echo ${array[@]:0:1}
    Zero
    [ chenqing@Qing ~ ] echo ${array[@]:0:2}
    Zero One
    [ chenqing@Qing ~ ] echo ${array[@]:0:3}
    Zero One Two
    [ chenqing@Qing ~ ] echo ${array[@]:1}
    One Two
    [ chenqing@Qing ~ ] echo ${array[@]:2}
    Two

  • 相关阅读:
    01模拟面试面试题汇总
    第一轮面试
    大觅网03Day
    大觅网02Day
    大觅网01Day
    树状数组
    HH的项链
    小z的袜子
    分块
    扩展欧几里德
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/13748714.html
Copyright © 2011-2022 走看看