bash + 在循环中运行脚本

bash + 在循环中运行脚本

我们需要每 10 个步骤运行一次 run.sh

for x in {1..100} ; do
  sleep 1
  /tmp/run.sh
done

所以最后 run.sh 将运行 10 次

我们怎样才能做到这一点?

其他示例(在本例中 run.sh 将运行 20 次)

for x in {1..200} ; do
  sleep 1
  /tmp/run.sh
done

答案1

您只需测试 的值是否x可以除以 10 :

for x in {0..100} ; do
    if (( x % 10 == 0 ))
    then
        /tmp/run.sh
    fi
    sleep 1
done

答案2

这是一份工作模数%) 操作员。例如:

for x in {1..100} ; do
  sleep 1
  [ $((x % 10)) -eq 0 ] && /tmp/run.sh
done

另一个例子:

$ for i in {1..100} ; do  [ $((i % 10)) -eq 0 ] && echo $i  ; done
10
20
30
40
50
60
70
80
90
100

答案3

for (( i = 0; i < 10; ++i )); do
    /tmp/run.sh
    sleep 10
done

如果您想运行脚本十次,则执行循环十次并在中间休眠适当的时间。

或者,使用参数确定运行脚本的次数:

n=20
for (( i = 0; i < n; ++i )); do
    /tmp/run.sh
    sleep 10
done

相关内容