You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Bash关联数组的键创建索引数组?

从Bash关联数组的键创建索引数组的方法

没问题,这在Bash里其实很简单,利用内置的参数展开特性就能轻松搞定!

首先,你已经定义了这样的关联数组:

declare -A hash
hash[one]=1
hash[two]=2
hash[third item]=3

核心方法:获取键并赋值给索引数组

只需要一行命令,就能把关联数组的所有键提取出来,存入一个索引数组:

# 声明并初始化索引数组,值为关联数组的所有键
declare -a keys_array=("${!hash[@]}")

这里的关键语法是"${!hash[@]}":

  • !符号告诉Bash我们要获取的是数组的键,而不是值
  • 加上双引号""非常重要,它能保留包含空格的键(比如你的third item),避免被错误拆分成多个数组元素

验证结果

你可以通过循环打印索引数组的内容来确认是否正确:

for key in "${keys_array[@]}"; do
    echo "$key"
done

执行后会输出:

one
two
third item

这样就完美把关联数组的键转换成索引数组啦!

内容的提问来源于stack exchange,提问作者codeforester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:26:29