programing

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

elecom 2023. 5. 18. 20:44
반응형

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

사용자 입력을 기다리는 방법만 찾았습니다.하지만, 나는 단지 잠시 멈추고 싶을 뿐이다, 그래서 나의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

다중 절전 및 명령 실행

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

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

제가 좀 늦었다는 것은 알지만, 잠을 청해서 원하는 시간을 보낼 수도 있습니다.예를 들어, 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 ...."
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s

하나의 단추를 누를 때 계속하려면

자세한 정보 확인readmanpage ref 1, ref 2

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

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

사용하다trap명령행을 일시 중지하고 확인합니다(색상 사용).tput실행하기 전에

trap 'tput setaf 1;tput bold;echo $BASH_COMMAND;read;tput init' DEBUG

계속하려면 아무 키나 누르십시오.

와 함께 사용.set -x명령행을 디버그

저는 당신이 소프트웨어 흐름 제어를 사용할 수 있다고 생각합니다.

Ctrl+s Freeze the terminal
Ctrl+q Unfreeze

https://en.wikipedia.org/wiki/Software_flow_control

$ while :; do sleep 0.2; echo hello; done
hello
hello
hello
hello

Ctrl+s를 사용하여 일시 중지하고 Ctrl+q를 사용하여 무한 루프를 다시 시작합니다.

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

반응형