리눅스 튜토리얼 · 3 min read · Nov 14, 2025

쉘 스크립팅 Part I: bash 스크립팅 시작하기

안녕하세요. 이것은 리눅스 튜토리얼 시리즈의 첫 번째 부분입니다. 이 튜토리얼을 작성하면서, 여러분이 리눅스 스크립트를 만드는 데 완전 초보자이며 배우고자 하는 의지가 강하다고 가정합니다. 시리즈가 진행됨에 따라 수준이 높아질 것이므로, 더 고급 사용자에게도 새로운 것이 있을 것이라고 확신합니다. 그럼 시작해봅시다.

소개

리눅스를 포함한 대부분의 운영 체제는 다양한 사용자 인터페이스(UI)를 지원할 수 있습니다. 그래픽 사용자 인터페이스(GUI)는 사용자가 아이콘을 클릭하여 애플리케이션을 실행할 수 있는 사용자 친화적인 데스크탑 인터페이스입니다. 다른 유형의 인터페이스는 명령 줄 인터페이스(CLI)로, 순수하게 텍스트 기반이며 사용자로부터 명령을 받습니다. 셸, 즉 명령 해석기는 CLI를 통해 명령을 읽고 프로그램을 호출합니다. 요즘 대부분의 운영 체제는 리눅스 배포판을 포함하여 두 가지 인터페이스를 제공합니다.

셸을 사용할 때 사용자는 터미널에 일련의 명령을 입력해야 합니다. 사용자가 작업을 한 번만 수행해야 한다면 문제가 되지 않습니다. 그러나 작업이 복잡하고 여러 번 반복해야 한다면 사용자가 다소 지루할 수 있습니다. 다행히도 셸의 작업을 자동화하는 방법이 있습니다. 이는 셸 스크립트를 작성하고 실행함으로써 가능합니다. 셸 스크립트는 리눅스 셸에서 지원하는 일련의 명령으로 구성된 파일의 한 종류입니다.

셸 스크립트를 만드는 이유는 무엇인가요?

셸 스크립트는 리눅스 운영 체제에서 작업을 자동화하는 데 매우 유용한 도구입니다. 또한 유틸리티를 결합하고 새로운 명령을 생성하는 데 사용할 수 있습니다. 긴 반복적인 명령 시퀀스를 하나의 간단한 명령으로 결합할 수 있습니다. 모든 스크립트는 컴파일할 필요 없이 실행할 수 있으므로 사용자는 명령을 원활하게 프로토타입할 수 있는 방법을 갖게 됩니다.

리눅스 환경이 처음인데, 셸 스크립트를 만드는 방법을 배울 수 있을까요?

물론입니다! 셸 스크립트를 만드는 데 복잡한 리눅스 지식이 필요하지 않습니다. 리눅스 CLI의 일반적인 명령에 대한 기본 지식과 텍스트 편집기만 있으면 됩니다. 완전 초보자이고 리눅스 명령 줄에 대한 배경 지식이 없다면 이 튜토리얼이 도움이 될 것입니다.

첫 번째 셸 스크립트 만들기

bash(부른 어게인 셸)는 대부분의 리눅스 배포판과 OS X에서 기본 셸입니다. 이는 sh(부른 셸)를 대체하기 위해 의도된 오픈 소스 GNU 프로젝트입니다. Brian Fox에 의해 개발되었으며 1989년에 출시되었습니다.

각 리눅스 스크립트는 항상 다음 줄로 시작해야 한다는 것을 기억해야 합니다:

#!/bin/bash

모든 리눅스 스크립트는 shebang(#!) 줄로 시작합니다. 뱅 라인은 스크립트를 실행하는 데 사용될 명령 해석기의 전체 경로 /bin/bash를 지정합니다.

헬로 월드!

모든 프로그래밍 언어는 헬로 월드! 출력으로 시작합니다. 우리는 이 전통을 끝내지 않고 리눅스 스크립팅에서 이 더미 출력을 위한 자신의 버전을 만들 것입니다.

스크립트를 만들기 시작하려면 아래 단계를 따르세요:

1단계: 텍스트 편집기를 엽니다. 이 예제에서는 gedit를 사용할 것입니다. 터미널을 사용하여 gedit를 열려면 키보드에서 CTRL + ALT + T를 누르고 gedit를 입력합니다. 이제 스크립트를 작성할 수 있습니다.

2단계: 텍스트 편집기에 다음 명령을 입력합니다:

#!/bin/bash   
 echo "Hello World"

3단계: 문서를 hello.sh라는 파일 이름으로 저장합니다. 각 스크립트는 .sh 파일 확장자를 가져야 합니다.

4단계: 리눅스 배포판에서 시행되는 보안상의 이유로 파일과 스크립트는 기본적으로 실행 가능하지 않습니다. 그러나 리눅스 CLI에서 chmod 명령을 사용하여 스크립트의 권한을 변경할 수 있습니다. gedit 애플리케이션을 닫고 터미널을 엽니다. 이제 다음 명령을 입력합니다:

chmod +x hello.sh

위의 줄은 hello.sh 파일에 실행 권한을 설정합니다. 이 절차는 스크립트를 처음 실행하기 전에 한 번만 수행하면 됩니다.

5단계: 스크립트를 실행하려면 터미널에 다음 명령을 입력합니다:

./hello.sh

또 다른 예제를 살펴보겠습니다. 이번에는 hello 스크립트에 whoami 및 date 명령을 사용하여 시스템 정보를 표시하는 것을 통합할 것입니다.

hello.sh를 텍스트 편집기에서 열고 다음과 같이 스크립트를 수정합니다:

#!/bin/bash  
 echo "Hello $(whoami) !"  
 echo "오늘 날짜는 $(date)입니다."

우리가 만든 변경 사항을 저장하고 스크립트를 실행합니다(이전 예제의 5단계) 다음과 같이 입력합니다:

./hello.sh

스크립트의 출력은 다음과 같습니다:

이전 예제에서 whoami 및 date 명령이 echo 명령 내에서 사용되었습니다. 이는 명령 줄에서 사용할 수 있는 모든 유틸리티와 명령이 셸 스크립트에서도 사용될 수 있음을 의미합니다.

printf를 사용하여 출력 생성하기

지금까지 우리는 이전 예제에서 문자열과 명령의 데이터를 인쇄하기 위해 echo를 사용했습니다. Echo는 텍스트 한 줄을 표시하는 데 사용됩니다. 데이터를 표시하는 데 사용할 수 있는 또 다른 명령은 printf 명령입니다. printf는 C의 printf 함수처럼 데이터를 제어하고 인쇄합니다.

아래는 일반적인 printf 제어의 요약입니다:

제어사용법
\”큰따옴표
\백슬래시
\b백스페이스
\c추가 출력을 생성하지 않음
\e이스케이프
\n새 줄
\r캐리지 리턴
\t수평 탭
\v수직 탭

예제 3: 이전 hello.sh를 열고 모든 echo를 printf로 변경한 후 스크립트를 다시 실행합니다. 출력에서 어떤 변화가 있는지 주목하세요.

#!/bin/bash  
 printf "Hello $(whoami) !"  
 printf "오늘 날짜는 $(date)입니다."

모든 줄이 서로 붙어 있는 것은 printf 명령에서 어떤 제어도 사용하지 않았기 때문입니다. 따라서 리눅스의 printf 명령은 C 함수 printf와 동일한 속성을 가집니다.

스크립트의 출력을 형식화하기 위해 위의 요약 표에서 두 가지 제어를 사용할 것입니다. 작동하려면 제어는 printf 명령의 따옴표 안에 \로 표시되어야 합니다. 예를 들어, hello.sh의 이전 내용을 다음과 같이 수정합니다:

#!/bin/bash  
 printf "Hello \t $(whoami) !\n"  
 printf "오늘 날짜는 $(date)\n"

스크립트는 다음과 같은 출력을 생성합니다:

결론

이 튜토리얼에서는 셸 스크립팅의 기초를 배우고 셸 스크립트를 생성하고 실행할 수 있었습니다. 튜토리얼의 두 번째 부분에서는 변수를 선언하고, 입력을 받고, 셸 명령을 사용하여 산술 연산을 수행하는 방법을 소개하겠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.