/ / Linux Sleep 명령으로 Bash 스크립트를 일시 중지하는 방법

Linux Sleep 명령으로 Bash 스크립트를 일시 중지하는 방법

Unity 데스크탑 컨셉의 배쉬 쉘

sleep 명령은 Linux 컴퓨터를아무것도. 반 직관적 일 수도 있지만 비 활동 기간이 때로는 필요한 것일 수도 있습니다. 이 기사는이 Bash 쉘 명령을 효과적으로 사용하는 방법을 보여줍니다.

사용 sleep 쉽습니다. 명령 행에서 sleep, 공백, 숫자를 입력 한 다음 Enter 키를 누릅니다.

sleep 5

커서가 5 초 동안 사라졌다가 돌아갑니다. 어떻게 된 거예요? 사용 sleep 명령 행에서 Bash는 사용자가 제공 한 기간 동안 처리를 일시 중단하도록 지시합니다. 이 예에서 이것은 5 초였습니다.

절전 5 명령에서 보이는 출력이 없습니다

우리는 지속 시간을 전달할 수 있습니다 sleep 일,시, 분 및 초 단위로 이렇게하려면 다음 중 하나의 접미사를 포함하십시오 d, h, m, 또는 s 지속 시간. 하루, 4 시간, 7 분 5 초 동안 절전 모드를 일시 중지하려면 다음과 같은 명령을 사용하십시오.

sleep 1d 4h 7m 5s

그만큼 s 접미사 (초)는 선택 사항입니다. 접미사없이 sleep 모든 지속 시간을 초로 처리합니다. 갖고 싶다고 가정하자 sleep 5 분 20 초 동안 일시 중지합니다. 이 명령의 올바른 형식은 다음과 같습니다.

sleep 5m 20

제공하는 것을 잊어 버린 경우 m 분 지속 시간에 접미사를 지시하면 sleep 5 초간 멈췄다가 20 초간 멈 춥니 다. 그래서 sleep 25 초 동안 일시 중지됩니다.

많은 명령에서 특정 순서로 매개 변수를 제공해야하지만 sleep 매우 용서합니다. 어떤 순서로든 제공 할 수 있으며 sleep 그들에게 의미가 있습니다. 부동 소수점 숫자를 매개 변수로 제공 할 수도 있습니다. 예를 들어 0.5h는 원하는 것을 나타내는 올바른 방법입니다. sleep 30 분 동안 일시 중지합니다.

다음의 모든 (심지어 편심) 명령은 sleep 10 초 동안 일시 중지합니다.

sleep 10
sleep 5 5s
Sleep 1 1 1s 1 1 1s 1 2
sleep 0.16667m

명령 전에 휴면을 사용하여 일시 중지

그만큼 sleep 명령을 사용하여 명령을 실행하기 전에 일시 중지 할 수 있습니다. 이 명령은 15 초 동안 일시 정지 한 다음 신호음을냅니다.

sleep 15 && echo -en '07'

절전 모드를 사용하여 두 명령간에 일시 중지

당신이 사용할 수있는 sleep 두 명령 사이에 일시 중지합니다. 이 명령은 Documents 디렉토리의 파일을 나열하고 5 초 동안 일시 정지 한 다음 현재 작업 디렉토리를 홈 디렉토리로 변경합니다.

ls -R ~/Documents && sleep 5 && cd ~

수면으로 분리 된 두 명령의 출력

절전 모드를 사용하여 스크립트 실행 일시 중지

당신은 사용할 수 있습니다 sleep 쉘 스크립트에서 명령을 실행 중지정확한 시간 동안 스크립트. 일반적으로 스크립트 처리를 계속하기 전에 일부 프로세스를 완료하는 데 충분한 시간을 확보하기 위해이 작업을 수행합니다. 스크립트를 사용하여 다른 리소스에 대한 요청을 평가하는 데 사용할 수도 있습니다.

이를 정확하게 설명하기 위해 다음을 사용하여 Google 웹 서비스를 호출하는 스크립트가 있습니다. curl. 책의 ISBN 번호로 웹 서비스를 쿼리하면 해당 책과 관련된 JSON 데이터 덤프로 응답합니다. 데이터를 통해 전달하여 해당 데이터를 구문 분석 할 수 있습니다. jq 책 제목을 검색하는 유틸리티입니다. 이 스크립트는 웹 서비스에 스트레스를주지 않기 위해 웹 요청간에 1 초 동안 휴면 상태를 유지합니다.

다음 텍스트를 포함하는 파일을 작성하고 다른 이름으로 저장하십시오. check_book.sh.

#!/bin/bash
for book in `cat $1`
do
echo $book":"
curl -s https://www.googleapis.com/books/v1/volumes?q=isbn:$book | jq '.items | .[] | .volumeInfo.title'
echo ""
sleep 1
done
echo "All done."

다음 명령을 입력하여 실행 권한을 설정하고 스크립트를 실행 가능하게하십시오.

chmod +x check_book.sh

스크립트는 curljq 유용. 사용하다 apt-get Ubuntu 또는 다른 데비안 기반 배포판을 사용하는 경우 이러한 패키지를 시스템에 설치하십시오. 다른 Linux 배포판에서는 Linux 배포판의 패키지 관리 도구를 대신 사용하십시오.

sudo apt-get install curl
sudo apt-get install jq

다음 번호가 포함 된 텍스트 파일을 작성하고 다른 이름으로 저장하십시오. books.txt.

9781565921276
9781874416685
9781565921672
9780521431088
9781491941591

실행 check_book.sh 스크립트와 books.txt 파일을 매개 변수로

./check_book.sh books.txt

check_book.sh 쉘 스크립트의 출력

1 초 간격으로 Google 웹 서비스에 요청됩니다. 도서 제목은 각 ISBN 번호를 조회 한 직후에 나타납니다.

그게 다야 sleep. 내면의 작용 check_book.sh 스크립트는이 기사의 범위를 벗어납니다. 이 스크립트는 sleep 명령. 스크립트의 두 가지 주요 구성 요소에 대한 자세한 내용을 보려면 curl 프로젝트 페이지와 jq 온라인 설명서.