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

Bash中如何将一个数组元素作为后缀追加到另一数组元素末尾

原脚本问题说明

  • 做后缀替换时直接使用$array[@]不会遍历array的每个元素,只会将整个数组的内容作为单个后缀拼到当前name元素后
  • 每次循环直接给arra赋值,会覆盖上一轮循环的结果,最终只会保留最后一个name元素的拼接结果

正确实现方案

方案1:拼接结果存入数组后统一输出

array=(a b c)
name=(toto_ tata_)
# 初始化空结果数组
arra=()
# 外层遍历所有前缀
for prefix in "${name[@]}"; do
  # 内层遍历所有后缀
  for suffix in "${array[@]}"; do
    # 拼接后追加到结果数组
    arra+=("${prefix}${suffix}")
  done
done
# 输出所有结果
printf '%s\n' "${arra[@]}"

方案2:无需存数组直接输出

array=(a b c)
name=(toto_ tata_)
for prefix in "${name[@]}"; do
  for suffix in "${array[@]}"; do
    echo "${prefix}${suffix}"
  done
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:36:04