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

shell间接引用

创建一个间接引用,用于获取数组的所有元素。
命令解析

board_specs="${!BOARD_SPECS_ARRAY}[@]"

分解理解:

BOARD_SPECS_ARRAY:这是一个变量,其值应该是某个数组的名称${!BOARD_SPECS_ARRAY}:间接引用,获取BOARD_SPECS_ARRAY变量值所代表的变量的值[@]:数组展开语法,表示获取数组的所有元素最终结果:board_specs变量包含了指定数组的所有元素

实际示例
bash

定义两个数组

declare -a BOARD_A_SPECS=(“cpu:arm” “ram:2GB” “storage:16GB”)
declare -a BOARD_B_SPECS=(“cpu:x86” “ram:4GB” “storage:32GB”)

设置要使用的数组名称

BOARD_SPECS_ARRAY=“BOARD_A_SPECS”

使用间接引用获取数组所有元素

board_specs=“${!BOARD_SPECS_ARRAY}[@]”

现在可以使用这个引用

echo “所有规格: ${!board_specs}”

输出: 所有规格: cpu:arm ram:2GB storage:16GB

遍历数组

for spec in “${!board_specs}”; do
echo “规格: $spec”
done

等价写法

如果不使用间接引用,需要这样写:
bash

直接引用(需要知道具体数组名)

board_specs=(“${BOARD_A_SPECS[@]}”)

http://www.dtcms.com/a/341084.html

相关文章:

  • CVE-2018-12613 漏洞复现
  • 为什么我的UI界面会突然卡顿,失去响应
  • FLASK项目快速构建
  • 用TestComplete打造高效CI/CD测试流程
  • nodejs mongodb基础
  • 【论文阅读】-《SIGN-OPT: A QUERY-EFFICIENT HARD-LABEL ADVERSARIAL ATTACK》
  • Gitea Webhook教程:实现git push后自动部署更新网站 (CI/CD入门)
  • 7.2 Linux:驱动开发——模块机制
  • 7.3 Linux:驱动开发——应用程序和驱动程序的交互
  • imx6ull-驱动开发篇30——Linux 非阻塞IO实验
  • 电商平台商品详情数据爬取教程​
  • JS原型链
  • 第10课_Rust网络编程
  • TrustZone 版的按键点灯程序下载调试 LAT1492
  • 迅为RK3562开发板Android修改uboot logo
  • element UI 和 element plus 在组件上有哪些不同
  • 《算法导论》第 35 章-近似算法
  • 《设计模式之禅》笔记摘录 - 17.模板方法模式
  • hot100 之160-相交链表(双指针切换)
  • 如何合并分卷压缩文件?两种方法让文件更整洁
  • SQL详细语法教程(七)核心优化
  • 【CocosCreator】electron/Cocos双窗口本地模拟聊天系统
  • 挑战极限:在256MB内存的机器上构建MySQL极简安装方案
  • Nginx 负载均衡和缓存配置
  • Unicode 字符串转 UTF-8 编码算法剖析
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持
  • 科研笔记:博士论文写作攻略
  • IPSEC安全基础前篇
  • 七十三、【Linux数据库】MySQL数据库PXC 集群概述与演示
  • mvdr波束形成