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

Unix脚本如何将for循环输出值用逗号拼接存入单个变量

实现方案

你可以基于现有代码做少量调整,在循环中逐次拼接结果到两个变量中即可,修改后的完整代码如下:

export input=$1
length=${#input}
# 初始化两个存储结果的变量
varA=""
varB=""

for (( i=1; i<=length; i++ )); do
  current_len=$(( length - i + 1 ))
  eachinput=${input:0:$current_len}
  echo "each input : $eachinput"
  
  # 拼接无引号的格式1结果
  if [ -z "$varA" ]; then
    varA="$eachinput"
  else
    varA="${varA},${eachinput}"
  fi

  # 拼接带单引号的格式2结果
  if [ -z "$varB" ]; then
    varB="'${eachinput}'"
  else
    varB="${varB},'${eachinput}'"
  fi
done

# 可按需调用两个变量,此处仅做演示输出
echo "varA = $varA"
echo "varB = $varB"

运行验证:当传入参数为123456时,输出结果完全匹配你需要的两种格式:

  • 格式1:varA = 123456,12345,1234,123,12,1
  • 格式2:varB = '123456','12345','1234','123','12','1'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:03