zoukankan      html  css  js  c++  java
  • bash数组总结

    bash数组操作

    bash支持两种数组,一种是索引数组,一种是关联数组

    索引数组

    数组的值类型是任意的,索引也未必一定要连续,当做列表理解更好

    下面总结下索引数组,即列表:

    1. 声明

    declare -a a
    

    2. 初始化

    a=(1 2 3 4)
    # OR
    a=([0]=2 [3]=8) # 注意长度为2,不是4
    

    3. 获取列表长度

    size=${a[@]}
    

    4. 追加元素

    a+=(11 12 13 14)
    

    5. 赋值

    a[1]=9
    

    6. 按索引读取

    value=${a[0]} # 读取索引0的值
    

    7. 删除某元素

    unset a[0]
    

    8. 清空数组

    unset a
    

    9. 切片

    echo ${a[@]:1:3} # 从索引1开始的3个元素
    # 也支持负数索引,-1表示最后一个,但负数必须用括号括住
    last=${a[@]:(-1):1}
    

    10. 遍历

    for i in ${a[@]}
    do
    	echo $i
    done
    

    关联数组

    1. 声明

    declare -A map
    

    2. 初始化

    map[key1]=value1
    map[key2]=value2
    # or
    map=([key1]=value1 [key2]=value2)
    

    3. 长度

    size=${!map[@]}
    

    4. 获取键集合

    keyset=${!map[@]}
    

    5. 获取值集合

    values=${map[@]}
    

    6. 遍历

    for key in ${!map[$@]}
    do
    	echo $key:${map[$key]}
    done
  • 相关阅读:
    解析包含空格的字符串
    机器学习实战之Logistic回归
    复杂的数据类型
    k-近邻算法
    C&C++
    位运算
    文件操作
    结构体与共用体
    预处理-04-#if defined和#if !defined
    预处理-03-文件包含、条件编译、小结
  • 原文地址:https://www.cnblogs.com/int32bit/p/5310505.html
Copyright © 2011-2022 走看看