Nice programing

계속하기 전에 쉘 스크립트를 잠시 일시 중지하려면 어떻게합니까?

nicepro 2020. 10. 2. 23:16
반응형

계속하기 전에 쉘 스크립트를 잠시 일시 중지하려면 어떻게합니까?


사용자 입력을 기다리는 방법 만 찾았습니다. 그러나 while true컴퓨터가 충돌하지 않도록 일시 중지하고 싶습니다 .

나는 시도 pause(1)했지만 말한다 -bash: syntax error near unexpected token '1'. 어떻게 할 수 있습니까?


sleep명령을 사용하십시오 .

예:

sleep .5 # Waits 0.5 second.
sleep 5  # Waits 5 seconds.
sleep 5s # Waits 5 seconds.
sleep 5m # Waits 5 minutes.
sleep 5h # Waits 5 hours.
sleep 5d # Waits 5 days.

시간 단위를 지정할 때 소수를 사용할 수도 있습니다. 예 :sleep 1.5s


그리고 어떨까요?

read -p "Press enter to continue"

Python (질문은 원래 Python으로 태그 됨)에서 time 모듈을 가져와야합니다.

import time
time.sleep(1)

또는

from time import sleep
sleep(1)

쉘 스크립트의 경우

sleep 1

sleep명령을 실행합니다 . 예./bin/sleep


나는 이것으로 조금 늦었다는 것을 알고 있지만, 당신은 또한 sleep을 호출하고 disired 시간을 전달할 수 있습니다. 예를 들어, 3 초 동안 기다리려면 다음을 수행 할 수 있습니다.

/bin/sleep 3

4 초는 다음과 같습니다.

/bin/sleep 4

Mac OSX에서 잠자는 데 몇 분 등이 걸리지 않고 몇 초 밖에 걸리지 않습니다. 그래서 2 분 동안

sleep 120

스크립트 내에서 일시 중지하려는 작업 사이에 다음을 추가 할 수 있습니다. 그러면 5 초 동안 루틴이 일시 중지됩니다.

read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."

여러 휴면 및 명령 실행

sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..

첫 번째 스크립트를 실행하기 전에 5 초 동안 기다린 다음 디렉토리를 다시 변경하기 전에 3 초 동안 다시 절전 모드로 전환됩니다.


read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s

아무 버튼이나 누르면 계속하려면


기본 난수 생성기 인 $ RANDOM을 사용하여 기다리게 할 수 있습니다. 아래에서는 240 초를 사용하고 있습니다. @ 도움이되기를 바랍니다

> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS

참고 URL : https://stackoverflow.com/questions/21620406/how-do-i-pause-my-shell-script-for-a-second-before-continuing

반응형