成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你在 Bash 中使用鍵值字典,你會了嗎

系統 Linux
在不同的編程語言中,字典通常有不同的名稱,例如關聯數組、hashmap 或映射。在本文中,將演示如何在 bash 中使用鍵值字典。以下使用 shell 腳本示例來說明字典的詳細用法。 聲明字典變量

在字典中,字典存儲一組鍵,每個鍵都有一個與之關聯的值。可以使用對應的鍵在字典中插入、檢索或更新值。字典數據結構針對基于鍵值的快速檢索進行了優化,因此通常使用哈希表來實現。在不同的編程語言中,字典通常有不同的名稱,例如關聯數組、hashmap 或映射。在本文中,將演示如何在 bash 中使用鍵值字典。以下使用 shell 腳本示例來說明字典的詳細用法。

聲明字典變量

使用declare -A命令顯式聲明字典。

[root@localhost ~]# declare -A test_var

字典中添加鍵值對

如果需要在字典中添加鍵值對,使用下面命令操作:

[root@localhost ~]# declare -A dic
# 添加方式一
[root@localhost ~]# dic=([key1]="value1" [key2]="value2" [key3]="value3")
# 添加方式二
[root@localhost ~]# dic[key4]=value4
# 添加方式三,使用變量添加鍵值對
[root@localhost ~]# var_key1=key5
[root@localhost ~]# var_value1=value5
[root@localhost ~]# dic[$var_key1]=$var_value1

從字典中檢索鍵值對

使用下面方式通過鍵的名稱獲取值:

[root@localhost ~]# echo ${dic[key1]}
value1
[root@localhost ~]# echo ${dic[$var_key1]}
value5

更新字典中的現有鍵值

更新現有鍵的值與插入新的鍵值對沒有什么不同。通過更新,現有值會被新值覆蓋。

[root@localhost ~]# dic[key1]='puppy'
[root@localhost ~]# echo ${dic[@]}
value5 value4 value3 value2 puppy

可以看到key1的值被改成 puppy了。

圖片

檢查字典中是否存在鍵

如果想檢查一個鍵是否存儲在字典中。可以通過檢查是否設置了值來測試字典中鍵的存在(在條件中使用 -v 運算符)。

[root@localhost ~]# if [ -v dic[key1] ];then echo 'key1 exists in dic';fi
key1 exists in dic
[root@localhost ~]# if [ ! -v dic[key6] ];then echo 'key6 does not exists in dic';fi
key6 does not exists in dic

圖片

從字典中刪除鍵值對

可以通過使用 unset 語句指定鍵,從字典中刪除現有的鍵值對。

[root@localhost ~]# unset dic[key1]
[root@localhost ~]# unset dic[$var_key1]
[root@localhost ~]# echo ${dic[@]}
value4 value3 value2

可以看到結果key1和key5的鍵值都刪掉了

圖片

遍歷字典

另一個常用的功能是遍歷,使用${!dic[@]}來獲取所有的鍵名稱,使用${dic[@]}來獲取所有的值。遍歷存儲在字典中的所有鍵值對并執行一些操作:

[root@localhost ~]# vim dic_for.sh
[root@localhost ~]# cat dic_for.sh
#!/bin/bash
declare -A dic
dic=([key1]="value1" [key2]="value2" [key3]="value3")

for key in "${!dic[@]}"
do
echo "$key - ${dic[$key]}"
done
[root@localhost ~]# sh dic_for.sh
key3 - value3
key2 - value2
key1 - value1

圖片

責任編輯:武曉燕 來源: Linux就該這么學
相關推薦

2024-01-30 08:30:41

TypeScript編譯器類型

2022-10-30 10:31:42

i2ccpuftrace

2025-01-09 07:50:34

.NET 9ScalarSwagger

2022-11-06 14:46:28

腳本windows文件

2024-02-02 11:03:11

React數據Ref

2021-01-20 10:18:48

MySQL服務器配置

2023-10-30 07:05:31

2023-12-27 07:31:45

json產品場景

2021-06-05 06:52:16

Kubernetes

2022-11-08 08:45:30

Prettier代碼格式化工具

2022-10-21 13:14:41

lua插件neovim

2024-08-19 10:24:14

2022-03-11 14:59:21

JavaScript數組字符串

2024-05-22 08:03:15

2024-01-19 08:25:38

死鎖Java通信

2022-04-01 08:23:17

InputstreString字符串

2024-02-04 00:00:00

Effect數據組件

2023-01-10 08:43:15

定義DDD架構

2023-07-26 13:11:21

ChatGPT平臺工具

2023-06-15 08:00:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91亚洲国产成人久久精品网站 | 中文字幕日韩欧美一区二区三区 | 91视频久久 | 一级欧美 | 亚洲精品在线免费观看视频 | 国产精品亚洲第一 | 久久天堂 | 亚洲一级在线 | 精品国产一区久久 | 午夜在线视频一区二区三区 | 成人免费视频网站在线看 | 中文字幕一区二区三区乱码在线 | 欧美在线一区视频 | 亚洲国产精品一区 | 日韩精品久久一区二区三区 | 国精产品一区二区三区 | 国产亚洲精品久久19p | 日本一区二区电影 | 黄色毛片在线看 | 伊人精品 | 欧美成年网站 | 精品视频在线免费观看 | 亚洲第一成人影院 | 国产99久久精品一区二区永久免费 | 黄a网| 午夜影院网站 | 午夜影院在线观看 | 国产成人综合一区二区三区 | 久久艹av| 久久大陆 | 欧美一级黄色片免费观看 | 国产精品久久久久久久久大全 | 国产成人在线播放 | 99热热热热| 国产精品久久久久久久久久久久午夜片 | 91色视频在线观看 | 国产美女福利在线观看 | 逼逼视频 | 黄色网页在线 | 亚洲一区二区三区免费观看 | 91视视频在线观看入口直接观看 |