在cshell中的while循环中嵌套while循环

Nesting while loop inside a while loop in cshell

我需要我的代码来读取编号在 1 到 4000 之间的文件。然后它会对这些文件做一些事情,我试图用以下代码将它们分成 500 个块。

#!/bin/tcsh

@ x = 1

@ looper = 1

while ($x < 3)
while ($looper < 500)

@filenumber = $x -1
@filenumber = $filenumber * 500
@filenumber = $filenumber + $looper

echo $filenumber
@looper += 1
done

@x += 1
done

我希望它以 500 为单位从 1 计数到 1000。但是当我尝试这个时,脚本只计数到 500。有人知道这是为什么吗?

感谢您的帮助

答案是在@x +=1 行下方需要有一行重置 $looper 变量

@x += 1
@looper = 1
done

哎呀!!!

你需要在@looper = 1 外循环里面初始化,否则它只会初始化一次,并以值500开始第二次迭代。

@ x = 1

while ($x < 3)

@looper = 1   <-- here

while ($looper < 500)

@filenumber = $x -1
@filenumber = $filenumber * 500
@filenumber = $filenumber + $looper

echo $filenumber
@looper += 1
done

@x += 1
done