Skip to Content
bash Cookbook, 제 2판
book

bash Cookbook, 제 2판

by Carl Albing, JP Vossen
May 2025
Beginner to intermediate
726 pages
9h 39m
Korean
O'Reilly Media, Inc.
Book available
Content preview from bash Cookbook, 제 2판

10장. 스크립팅을 위한 추가 기능

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

많은 스크립트는 작성자만 사용하는 단순한 일회성 스크립트로 작성되며, 단 몇 줄, 그것도 하나의 루프로만 구성되어 있는 경우가 많습니다. 그러나 일부 스크립트는 다양한 사용자가 많이 사용하는 강력한 스크립트입니다. 이러한 스크립트에는 코드를 더 잘 공유하고 재사용할 수 있는 기능을 활용해야 하는 경우가 많습니다. 이러한 고급 스크립팅 기술은 여러 종류의 스크립트에 유용할 수 있으며, 많은 Linux 시스템의 /etc/init.d 스크립트와 같은 대규모 스크립트 시스템에서 흔히 볼 수 있습니다. 여기에 설명된 팁과 기법을 이해하고 사용하기 위해 시스템 관리자가 아니어도 됩니다. 이러한 팁과 기법은 대규모 스크립트 작업에서 스스로를 증명할 것입니다.

10.1 스크립트 '데몬화하기'

문제

스크립트를 백그라운드에서 끝없이 데몬으로 실행하고 싶을 때가 있습니다. 이를 제대로 수행하려면 스크립트를 제어하는 TTY, 즉 데몬을 시작하는 데 사용되는 터미널 세션에서 스크립트를 분리할 수 있어야 합니다. 단순히 명령에 앰퍼샌드를 넣는 것만으로는 충분하지 않습니다. SSH(또는 이와 유사한) 세션을 통해 원격 시스템에서 데몬 스크립트를 시작하면 로그아웃해도 SSH 세션이 종료되지 않고 해당 스크립트가 종료될 때까지(데몬이기 때문에 종료되지 않음) 창이 중단되는 것을 알 수 있습니다.

솔루션

다음을 사용하여 스크립트를 호출하고 백그라운드에서 실행한 후에도 로그아웃할 수 있습니다:

nohup mydaemonscript 0<&-1>/dev/null 2>&1 &

또는:

nohup mydaemonscript >>/var/log/myadmin.log 2>&1 <&-  &

토론

표준 입력(STDIN), 표준 출력(STDOUT), 표준 오류(STDERR) 등 세 가지 방법으로 내(또는 모든) 작업에 연결되는 제어 TTY(터미널)를 닫아야 합니다. 나중에 출력을 검색할 수 있도록 다른 파일(일반적으로 로그 파일)을 가리키거나 모든 출력을 버릴 수 있도록 /dev/null 파일을 지정하여 STDOUT 및 STDERR을 닫을 수 있습니다. 이를 위해 리디렉션 연산자 > 를 사용합니다.

그렇다면 STDIN은 어떨까요? STDIN을 처리하는 가장 깔끔한 방법은 파일 설명자를 닫는 것입니다. 이를 위한 bash 구문은 리디렉션과 비슷하지만 파일 이름에 대시(0<&- 또는 <&-)를 붙입니다.

로그오프할 때 종료 신호에 의해 중단되지 않고 스크립트가 실행되도록 nohup 명령을 사용합니다.

첫 번째 예에서는 세 가지 리디렉션 모두에서 파일 설명자 번호(즉, 0, 1, 2)를 명시적으로 사용합니다. STDIN과 STDOUT의 경우 선택 사항이므로 두 번째 예제에서는 명시적으로 사용하지 않습니다. 또한 순서는 중요하지 않기 때문에 두 번째 명령의 시작이 아닌 끝에 입력 리디렉션을 배치했습니다. (그러나 순서는 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Raspberry Pi Hacks

Raspberry Pi Hacks

Ruth Suehle, Tom Callaway

Publisher Resources

ISBN: 9798341659766Supplemental Content