[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 ...."