Computer >> 컴퓨터 >  >> 시스템 >> Linux

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

업무든 개인 생활이든, 기술을 활용해 삶을 편리하게 만드는 가장 좋은 방법 중 하나는 바로 자동화입니다. 스크립트와 예약 작업으로 반복 업무를 자동화하면 시간과 수고를 크게 절약할 수 있습니다. 하지만 막상 어디서부터 시작해야 할지 막막한 경우가 많죠. 이 글에서는 IT 자동화의 기본 도구인 Bash for 루프 명령어의 사용법을 소개합니다.

테스트 환경 준비하기

가장 먼저 필요한 것은 실행 가능한 Bash 환경입니다. Bash는 Linux, Unix, BSD, macOS 터미널의 기본 셸입니다(zsh를 사용하는 경우는 제외). 현재 사용 중인 셸을 확인하려면 터미널에 다음 명령어를 입력하세요.

echo $SHELL

이 명령은 현재 사용 중인 셸을 출력합니다. 출력 결과가 /bin/bash라면 바로 시작할 준비가 된 것입니다.

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

다음으로 텍스트 에디터가 필요합니다. 어떤 에디터를 선택해도 무방합니다. 필자는 터미널에서 Nano를 사용하지만, Vim이나 Emacs 같은 터미널 기반 에디터 또는 Gedit, Kate, Sublime 같은 GUI 에디터도 충분히 괜찮은 선택입니다.

touch 명령어를 이용하거나 에디터 이름과 함께 파일명을 입력하여 스크립트 파일을 생성하세요. 예를 들어 nano for-loop-test.sh라고 입력하면 바로 파일을 만들고 편집할 수 있습니다.

Bash for 루프의 기본 구조

Bash의 for 루프는 지정된 범위의 객체들을 순회(iterate)하면서 각 객체에 대해 특정 명령을 실행하도록 셸에 지시하는 구문입니다. 말로 설명하는 것보다 직접 보여주는 것이 더 이해하기 쉬울 겁니다. 아래는 가장 기본적인 for 루프 예제입니다.

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

첫 번째 줄인 for i in 1 2 3 4 5는 변수 "i"와 1부터 5까지의 범위를 지정합니다. 이 범위는 더 복잡한 숫자 시퀀스일 수도 있고, 파일 목록이나 디렉터리일 수도 있습니다.

그 다음 부분은 기본적인 문법 형식입니다. 실제로 실행할 명령은 탭으로 들여쓰기 된 부분에 작성하며, dodone은 for 루프 문법의 필수 요소이므로 반드시 포함되어야 합니다. 이 스크립트를 실행하면 다음과 같은 결과가 출력됩니다.

Test round 1
Test round 2
Test round 3
Test round 4
Test round 5
Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

변수가 어떻게 활용되는지 확인할 수 있습니다. 변수는 입력 범위 내의 각 객체를 개별적으로 식별하는 데 유용합니다. 좀 더 복잡한 숫자 범위를 지정하려면 중괄호를 사용할 수 있습니다. 앞서 살펴본 동일한 범위를 for $i in 1 2 3 4 5 대신 for $i in {1..5}로 표현할 수 있으며, 출력 결과는 동일합니다. 나아가 일정한 간격으로 숫자를 증가시키는 것도 가능합니다. 아래 예제는 0부터 27까지의 숫자를 3씩 증가시키며 출력하는 코드입니다.

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

실전 활용: 여러 파일에 명령 실행하기

스크립트에서 더 흔하게 사용되는 패턴은 여러 파일에 대해 특정 명령을 일괄 실행하는 것입니다. 예를 들어 디렉터리 안의 여러 파일에 cat 명령을 적용하고 싶다면, 스크립트를 다음과 같이 수정하면 됩니다.

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

이렇게 하면 "test-directory" 안의 모든 파일 내용이 터미널에 출력됩니다.

Bash for 루프 명령어 사용법: 초보자를 위한 자동화 입문 가이드

이제 for 루프가 얼마나 강력한 도구인지 감이 잡히실 겁니다. 사실 이것은 극히 일부에 불과합니다. dodone 사이에 여러 명령을 연결해서 실행할 수도 있고, 조건문을 활용하면 훨씬 더 복잡하고 정교한 자동화 스크립트를 작성할 수도 있습니다.

반복 작업을 자동화하면 단순 노동에서 벗어나 더 중요한 일에 집중할 수 있습니다. 오늘 배운 for 루프를 직접 실습해 보면서 자신만의 자동화 스크립트를 만들어 보세요.