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
스크립트를 10번 실행하려면 루프를 10번 실행하고 그 사이에 적절한 시간 동안 휴면 상태를 유지하세요.
또는 매개변수를 사용하여 스크립트 실행 횟수를 결정합니다.
n=20
for (( i = 0; i < n; ++i )); do
/tmp/run.sh
sleep 10
done