如何在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
相关产品推荐
相关产品推荐

