bash字典数/hash/数组

字典

在bash 3.x(bash -version)还是别用字典了,
这里的例子只针对bash 4.x

  • 定义
declare -A m_dict
m_dict=(
["key1"]="value1"
["key2"]="value2"
)  # 个人比较喜欢这种方式
或者m_dict=(["key1"]="value1" ["key2"]="value2")
或者:
m_dict["key1"]="value1"
m_dict["key2"]="value2"
  • 访问
# 通过key访问
v1=${m_dict[$key]}
v2=${m_dict["value2"]}
# 打印所有key值
echo ${!m_dict[*]}
# 打印所有value
echo ${m_dict[*]}
# 遍历key值
for key in $(echo ${!m_dict[*]})
do
    echo "$key : ${m_dict[$key]}"
done

如果key不存在,则访问的v为空字符串

数组

  • 定义
array=(
itme1
item2
item3
)
#或者
array=(itme1 item2 item3)  # 空格分割
arr2=`seq 1 2 1o` # 1,3,5,7,9...  seq(start step end)
  • 访问
# 遍历
for item in ${array[@]};  # ${}里面不能有空格
do 
 # $item ...
done
# 下标访问
echo ${array[i]}
# 显示所有下标
echo ${!array[*]}
# 显示所有元素
echo ${array[@]}
# 在array数组中新增元素
array=("${array[@]}" "a" "b")

推荐阅读更多精彩内容

  • 第三章 数组 数组是一个可以存储一组或一系列数值的变量 一个包含其他数组的数组称为多维数组。 关联数组允许使用更...
    梁烨端木阅读 269评论 0 0
  • Lottie Lottie 是 Airbnb 开源的一个动画项目,它支持 iOS, mac OS Android ...
    V_coa阅读 10,987评论 0 6
  • 当你要做一件事而有犹豫时,和朋友或者亲人讨论,常常得到的回答是:“三思而后行啊!”于是你三思而后就没有行了,因为要...
    Mgx_无心阅读 818评论 1 5
  • 欢欢喜喜贴对联 万事顺心入心门 家财万贯得人心 平平安安也是贵 过年吃得百味香 过年聊得暖心话 过年舍得放手机 过...
    菩提勇者阅读 216评论 1 3
  • 看了《阿甘正传》后,发表一下自己的个人观点,当我们在生活中遇到了困难后,也许对大家有所启发。请跟着我走进阿甘的生活...
    欣荣Y阅读 447评论 16 37