[bash] 계속하기 전에 어떻게 쉘 스크립트를 일시 중지합니까?

사용자 입력을 기다리는 방법 만 찾았습니다. 그러나 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으로 태그 지정됨)에서 시간 모듈을 가져와야합니다.

import time
time.sleep(1)

또는

from time import sleep
sleep(1)

쉘 스크립트의 경우는

sleep 1

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


답변

나는 이것에 조금 늦었다는 것을 알고 있지만, 잠을 자고 원하지 않는 시간을 지나갈 수도 있습니다.

/bin/sleep 3

4 초는 다음과 같습니다.

/bin/sleep 4


답변

Mac OSX에서는 잠자기 시간이 몇 분 / 초가 걸리지 않으며 몇 초 밖에 걸리지 않습니다. 2 분 동안

sleep 120


답변

여러 슬립 및 명령 실행

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

첫 번째 스크립트를 실행하기 전에 5 초 동안 기다린 다음 디렉토리를 다시 변경하기 전에 3 초 동안 다시 휴면 상태가됩니다.


답변

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

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