当前位置: 首页 > article >正文

bash中通过变量中的内容获取对应的关联数组

bash中通过变量中的内容获取对应的关联数组

Bash declare 手册:
https://phoenixnap.com/kb/bash-declare

实际问题:

在 bash 中创建了多个关联数组,需要根据输入的值,获取不同的关联数组。
可以使用 if 进行多次判断,但是效率低且代码显得很臃肿。
希望可以根据根据输入的值,组成关联数组的名字,然后通过该名字拿到数组的内容

解决方法:

#!/bin/bash
# vim: ts=4 sw=4 sts=4 et:

# 定义关联数组
declare -A A_LIST
declare -A B_LIST
A_LIST[1]="A_1"
A_LIST[2]="A_2"

B_LIST[1]="B_1"
B_LIST[2]="B_2"

#selected=A
selected=B
arr_name="${selected}_LIST"
declare -n  selected_arr=$arr_name

# 通过间接引用遍历关联数组
for key in "${!selected_arr[@]}"; do
  echo "$key: ${selected_arr[$key]}"
done

脚本运行输出为:

$ ./test.sh
2: B_2
1: B_1

http://www.kler.cn/news/163429.html

相关文章:

  • Navicat 技术指引 | 适用于 GaussDB 分布式的日志查询与配置设置
  • JWT介绍及演示
  • 自动抓取App数据
  • 笔记-基于CH579M模块通过网线直连电脑进行数据收发(无需网络)
  • 搜索引擎和网络浏览器之间的区别
  • 【Linux系统化学习】进程地址空间 | 虚拟地址和物理地址的关系
  • 【漏洞复现】FLIR AX8红外线热成像仪命令执行漏洞
  • Realme X7 Pro Root 刷机教程
  • 【PyTorch】 暂退法(dropout)
  • C# Solidworks二次开发:选择管理器相关的API介绍
  • 使用 PyTorch 进行 K 折交叉验证
  • 轻量封装WebGPU渲染系统示例<43>- PBR材质与阴影实(源码)
  • Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)
  • 高通CRM的v4l2驱动模型
  • 【嵌入式C语言】《字符串-----数字》转换函数总结
  • 国产化软件突围!怿星科技eStation产品荣获2023铃轩奖“前瞻优秀奖”
  • 【MySQL】聚合函数和分组(查找)
  • 基于深度学习路径规划RRT*-训练图像预处理
  • 制作一个RISC-V的操作系统四-嵌入式开发介绍
  • KNN朴素贝叶斯(根据已知推测未知)
  • 计算一组x和y(一维数组)
  • 3D渲染和动画制作软件KeyShot Pro mac附加功能
  • Opencv UI自动化应用人脸识别
  • 设计模式--建造者模式
  • Matplotlib中的titles(标题)、labels(标签)和legends(图例)
  • Android studio生成二维码
  • 浅谈前端代码里的命名规范与注释
  • 大一C语言作业 12.8
  • 图片处理OpenCV IMDecode模式说明【生产问题处理】
  • Qt工程文件分离、Qtimer定时器、Qt Creator 常用快捷键