매 시간마다 N 조작 (동일한 조작)을 계산해야합니다.스케줄 조작 bash
#!/bin/bash
N=10;
# my operation
sleep 3600/${N}
어떤 제안을 : 내 작업을해야하지만 시간 당이 N 시간을 실행 이해할 수없는 순간
?매 시간마다 N 조작 (동일한 조작)을 계산해야합니다.스케줄 조작 bash
#!/bin/bash
N=10;
# my operation
sleep 3600/${N}
어떤 제안을 : 내 작업을해야하지만 시간 당이 N 시간을 실행 이해할 수없는 순간
?글쎄, 지금 작성한 그대로, "my operation"을 한 번 수행 한 다음 6 분 동안 잠자기하고 종료합니다. 당신이 필요로하는 것은 그 두 줄을 둘러싼 루프 구조입니다. bash
는 여러 가지 루프 구조를 지원하지만, 아마이 경우에 대한 간단한은 다음과 같습니다
#!/bin/bash
N=10
((delay=3600/N))
while true
do
# do something
sleep ${delay}
done
당신이 ^C
또는 kill
또는 함께 종료해야하므로,이 경우 루프를 종료에 대한 규정은 없다 어떤 것. 특정 횟수만큼만 실행하기를 원하면 for
루프를 대신 사용할 수도 있고, 반복 할 때마다 특정 파일의 존재 여부도 확인하고 루프를 만들거나 제거 할 때 루프를 종료 할 수 있습니다 파일. 가장 적절한 접근 방법은 실제로하고 싶은 일의 더 큰 그림에 달려 있습니다.
고마워, 그게 내가 원하는거야! –
bash에서 산술을 수행하는 방법을 알고 싶습니까? (예 : cron으로) 명령을 예약하고 싶습니까? –
@honk 힌트로서, 당신은'cron'을 사용하여 이것을해야합니다 –
아니오, crontab을 사용하지 말아주세요, 제 생각에는 목적이 아닙니다 .. –