shell数组和字典

本文为转载文章

为表对文章作者的尊重特贴出原文
URL: http://www.firefoxbug.com/index.php/archives/2369/

#!/bin/bash

echo "shell定义字典"
#必须先声明
declare -A dic
dic=([key1]="value1" [key2]="value2" [key3]="value3")

#打印指定key的value
echo ${dic["key1"]}
#打印所有key值
echo ${!dic[*]}
#打印所有value
echo ${dic[*]}

#遍历key值
for key in $(echo ${!dic[*]})
do
        echo "$key : ${dic[$key]}"
done

echo "shell定义数组"

#数组
list=("value1" "value2" "value3")
#打印指定下标
echo ${list[1]}
#打印所有下标
echo ${!list[*]}
#打印数组下标
echo ${list[*]}
#数组增加一个元素
list=("${list[@]}" "value3")
### 实现使用 Shell 中的字典(关联数组) 在 Bash 版本 4 或更高版本中,可以利用 `declare -A` 来声明一个关联数组即所谓的字典[^1]。 #### 定义关联数组 要创建一个关联数组,语法如下: ```bash declare -A my_dictionary ``` 这行命令初始化了一个名为 `my_dictionary` 的空关联数组。之后可以根据键设置值: ```bash my_dictionary[key]="value" ``` 例如,建立几个键值对作为例子: ```bash declare -A colors colors["red"]="FF0000" colors["green"]="00FF00" colors["blue"]="0000FF" ``` #### 访问关联数组元素 访问特定键对应的值的方式很简单: ```bash echo "${colors['red']}" ``` 上述代码将会打印出红色的颜色码 `FF0000`。 #### 遍历关联数组 由于关联数组是基于字符串键而非整数索引构建的,因此遍历时不会保持插入顺序[^4]。为了遍历所有的键及其对应值,可采用以下方法: ```bash for key in "${!colors[@]}"; do echo "$key : ${colors[$key]}" done ``` 这段脚本会迭代整个颜色字典并输出每一对键值组合。 #### 修改或删除条目 更新现有项只需重新赋值给指定的键;移除某个键则需要用到 `unset` 命令: ```bash # 更新绿色编码 colors["green"]="3CB371" # 删除蓝色条目 unset colors["blue"] ``` #### 检查是否存在某键 有时需要验证某个键是否存在于当前字典内,可通过测试 `${dictionary_name["$key"]}` 是否为空来完成这一操作: ```bash if [[ -n "${colors["yellow"]}" ]]; then echo "Yellow exists." else echo "Yellow does not exist." fi ``` 以上就是关于如何在 Shell 脚本中实现使用字典(关联数组)的主要内容[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值