쉘은 다음 1분까지 잠자기 상태입니다.

쉘은 다음 1분까지 잠자기 상태입니다.

sleep다음 1분에 스크립트를 실행하려면 명령에 다음 1분까지 절전 모드로 들어가도록 지시 하고 싶습니다 . 어떻게 해야 하나요?

답변1

초 단위로 날짜를 요청하고 60으로 date +%s나누기 위한 알림을 계산합니다 (모듈로: ). %60에서 모듈러스를 뺀 값을 계산하면 다음 분까지 남은 시간(초)을 얻게 됩니다. 다음 1시간까지 기다리도록 변경할 수 있습니다(60을 3600으로 변경).

sleep $((60 - $(date +%s) % 60)) &&
<yourscript>

다음 1분까지 잠을 자려면 모듈로 없이 단축할 수도 있습니다.

sleep $((60 - $(date +%S) )) &&
<yourscript>

또한 다음 질문과 답변을 참고하세요.다음번 특정 시간까지 수면.

답변2

sleep $(( 60 - 10#$(date +%S) ))다음 1분까지 잠을 자세요. 10#접두사를 잊지 마세요 ! 그렇지 않으면 코드에서 "08"과 "09"를 8진수에 대한 잘못된 참조로 해석합니다.

또는 "%" 뒤에 "-"를 추가하여 날짜 명령이 "0"으로 초를 채우는 것을 방지할 수 있습니다. sleep $(( 60 - $(date +%-S) ))

관련 정보