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

如何在Bash的for循环中按参数数量迭代输出对应序号

Bash脚本循环输出参数序号解决方案

方案1:遍历参数时新增计数器

你可以在遍历参数的过程中新增一个自增计数器,直接输出计数器值即可,不需要输出参数本身的内容,修改后的脚本如下:

#!/bin/bash
# 初始化序号从1开始
seq_num=1
for i in "$@"
do
    echo $seq_num
    # 序号自增
    ((seq_num++))
done

方案2:按参数总数直接循环

如果你不需要用到参数本身的内容,也可以直接用C风格的for循环,循环上限就是传入的参数总数$#:

#!/bin/bash
for ((i=1; i<=$#; i++))
do
    echo $i
done

两种方案执行./cat.sh food.sh house.sh tv.sh时,都会输出你期望的结果:

1
2
3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:36:04