我们需要每 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