• shell之列表的定义与循环


     

    字符串列表定义方法1:

    a=(f1 f2 f3 f4)
    for i in ${a[*]}#遍历每一个列表值

    for i in ${a[@]}#等价与上一句

    实例:

    #!bin/bash
    a=(f1 f2 f3 f4)
    for i in ${a[*]}; do
    echo ”$i“
    if [ "$i" == "f1" ]; then#判断字符串是否相等,注意前后要有空格,否则变为赋值语句
    echo ”f1 finded“
    else
    echo "NOTFOUND"
    fi
    done

    字符串列表定义方法2:

    a[1]=f1
    a[2]= f2
    a[3]= f3
    a[4]= f4

    实例2:

    #!bin/bash
    a[1]=f1
    a[2]=f2
    a[3]=f3
    a[4]=f4
    for i in ${a[*]}; do
    echo ”$i“
    if [ "$i" == "f1" ]; then
    echo ”f1 finded“
    else
    echo "NOTFOUND"
    fi
    done

    每个列表元素的

    echo "${a[2]}"
    #!bin/bash
    a[1]=f1
    a[2]=f2
    a[3]=f3
    a[4]=f4
    echo "${a[1]}"
    echo "${a[2]}"

    1 获取下标为n的元素:

    1
    variable[n]

    而且不存在数组下标溢出的情况,如果 n>= 数组的长度,那么为空,不会报错。

    2 获取数组长度

    1
    ${#variable[@]}

    或者

    1
    ${#variable[*]}

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

    直接遍历每一个值

    1 for i in ${variable[@]}; do

    1
    2
    # do something....
    done

    2遍历每一个值的下标

    for i in $(seq 0 ${#variable[@]}); do

    1
    2
    3
    e=${variable[$i]}
      # do something....
    done

    以上两种方法 把 @ 换成 * 也行。

  • 相关阅读:
    【Rust】匹配绑定
    【Rust】iflet
    【Rust】结构体匹配
    【Rust】闭包
    【Rust】函数
    【Rust】方法
    【Rust】whilelet
    【Rust】匹配保护
    【Rust】闭包捕获变量
    优先队列 安静点
  • 原文地址:https://www.cnblogs.com/pangwablog/p/16265917.html
Copyright © 2020-2023  润新知