在while循环bash中重置计数器

时间:2016-02-10 01:34:37

标签: bash shell

我正在努力使用这个脚本,我尝试了不同的东西,但我无法让它工作。

我试过if,不行,我尝试嵌套,但也没有成功。我不知道该怎么办......

如果值imax达到10,我希望它以1

重新开始

这是代码:

folder="f"
ps=20000
name="test"
i=1
imax=1

while [ $i -le 20 ]
    do
        cd
        cd "$folder$((i))"
        sed -i 1s/.*/$name$((imax))/ file.txt
        sed -i 2s/.*/$ps/ file.txt
        (( i++ ))
        (( imax++ ))
    done

谢谢

1 个答案:

答案 0 :(得分:2)

这样的工作:

i=1
imax=1
while [ $i -le 20 ]   
   do
       echo $i $imax
       (( i++ ))
       (( imax++ ))
       if [ $imax -eq 10 ]; then  imax=1; fi
   done