惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
小众软件
小众软件
I
InfoQ
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Martin Fowler
Martin Fowler
月光博客
月光博客
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
V
Visual Studio Blog
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
P
Proofpoint News Feed
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 520_1351

使用Notepad++的快捷键运行Python时-报错-The security information for shortcuts.xml is missing in config.xml Powerautomate-控制Edge-浏览器-报错-Failed to assume control of Microsoft Edge (communication with Power Automate web extension failed) 关于-密码学算法中-类似-编程函数pow(3, 13, 7)的计算-快速幂算法结合模运算(Exponentiation by Squaring with Modular Reduction) 关于AWS-EC2-串口登录的-IAM权限-Policy-策略 关于 AWS Lambda 中的默认的时区-日期-时间-注意点 关于使用 javascript 脚本语言中的 location.reload() 刷新当前页面 关于Linux系统中-使用passwd对用户密码的锁定与解锁 关于 Redhat - 9 - 补丁升级后-旧版本内核相关的软件包卸载 关于 Redhat - 9 下 postfix 的安装配置 与 mail 命令发送邮件 关于 Amazon Linux 2023 (AL2023) 默认情况下确实没有 /var/log/secure 文件的解决方法 关于-HTML-内容-元素定位- CSS Selector 与 XPath 的说明及区别 关于Microsoft Power Automate-操作-Microsoft Access 数据库-【运行Access查询】 关于 Javascript 中 console.log("xxxx")-及console-对象其他常用的方法 关于Provider=Microsoft.ACE.OLEDB.12.0 与 Provider=Microsoft.ACE.OLEDB.16.0 的区别 通过Powershell-脚本-将指定的日期-转换成年周-格式-周数宽度为2 关于Windows-操作系统中-对带日期-或-数字-的文件目录-按名称排序的规则 关于Microsoft Power Automate-元素的定位-自定义写法去定位时-:nth-child 与 :eq 的区别 关于标准CSS伪类-以及在-Power Automate-等自动化工具中的使用 关于使用-Python-Selenium-模块-加载浏览器的扩展-的方法及注意事项-及只能加载一个扩展的解决方法 关于-根据-ISO8601-国际标准-计算一年中的周数-每年最少52周-每多53周 Redhat-9-中编译-EFS-客户端工具-即过程中-报错提示-warning: aws-lc-fips-sys@0.13.9: Building with: CMake-解决方法 关于Microsoft Power Automate-调用-Outlook-发送邮件-报错- A program is trying to access emal address information stored in Outlook 关于powershell中的-哈希表-Hashtable-类型-说明-类似于python中的字典 关于HTML中<font><b><i><s>等字体标签对-物理字体-逻辑字体的介绍及说明
关于Bash - Shell脚本中的索引数组(Indexed Array)
520_1351 · 2026-04-13 · via 博客园 - 520_1351

在 Shell 脚本(特别是 Bash)中,索引数组(Indexed Array) 是最基础且最常用的数据结构之一。
它允许你将多个值存储在同一个变量名下,并通过整数索引(从 0 开始)来访问这些值。

不同于 C 语言等编译型语言,Shell 中的数组是动态的,不需要预先定义大小,且支持稀疏存储(即索引可以不连续)。

以下是关于 Shell 索引数组的详细操作指南:

1. 定义与初始化

在 Bash 中,你不需要显式声明数组即可使用,但使用 declare -a 是一个良好的编程习惯。

直接赋值(推荐): 使用圆括号 () 包裹元素,空格分隔。

逐个赋值: 指定索引进行赋值。

命令输出赋值: 将命令的执行结果存入数组。

# 方法一:一次性初始化
fruits=("苹果" "香蕉" "橘子" "葡萄")

# 方法二:显式声明并逐个赋值
declare -a colors
colors[0]="红色"
colors[1]="绿色"
colors[5]="蓝色" # 支持稀疏数组,索引不需要连续
colors[3]="白色" # 索引也可以将低索引号写在后面,for遍历输出时,低索引的元素会先输出

除了上面的两种方式,还是一种可以不指定索引号的方法, 可以追加元素到数组中 ,方法即  索引数组变量名 += ("新元素的值")

declare -a colors
colors[0]="红色"
colors+=("author-qq-5201351")
colors[2]="绿色"
colors[5]="蓝色" # 支持稀疏数组,索引不需要连续
colors[3]="白色" # 索引也可以将低索引号写在后面,输出时,低索引的元素会先输出

注:+=后面需要跟上 ("新元素的值") ,否则的话,如果去掉(),无论这个+= 在第几行,都会添加到第一个元素的值后面,最后变成第一个新元素的值 即 红色author-qq-5201351

访问数组时,必须使用 ${} 语法,直接使用 $var 通常只能获取到第一个元素。

删除整个数组变量:unset var 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19858578