Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash 스크립트 입문: Hello World 예제로 배우는 작성과 실행 방법

이 튜토리얼에서는 터미널에 "Hello World"를 출력하는 간단한 Bash 스크립트를 직접 만들고 실행하는 방법을 단계별로 알아봅니다.

셔뱅(Shebang, #!)이란 무엇인가?

모든 셸 스크립트는 #! 기호로 시작하며, 이를 셔뱅(Shebang)이라고 부릅니다. 셔뱅은 반드시 스크립트의 첫 번째 줄에 위치해야 하며, 해당 스크립트를 실행할 인터프리터가 무엇인지 셸에게 알려주는 역할을 합니다.

#!/bin/bash
...

위 예제에서 #!/bin/bash는 이 스크립트를 Bash 인터프리터로 실행하겠다는 의미입니다.

Hello World Bash 스크립트 만들기

이제 터미널에 "Hello World"라는 문구를 출력하는 Bash 스크립트를 만들어 보겠습니다.

먼저 hello_world.sh라는 이름의 파일을 생성합니다. 터미널에서 다음 명령어를 입력하세요:

$ touch hello_world.sh

파일이 생성되었다면, 선호하는 에디터로 파일을 엽니다. 여기서는 nano 에디터를 사용하겠습니다:

$ nano hello_world.sh

파일이 열리면 아래와 같은 내용을 입력합니다:

#!/bin/bash

echo "Hello World"

echo 명령어는 뒤에 오는 문자열을 화면에 그대로 출력하는 가장 기본적인 리눅스 명령어입니다.

셸 스크립트 실행하기

작성한 스크립트를 실행해 "Hello World"를 화면에 출력해 보겠습니다. 셸 스크립트를 실행하는 방법은 여러 가지가 있습니다:

$ sh ./hello_world.sh ## 잘못된 방법
$ ./hello_world.sh ## 올바른 방법
$ bash ./hello_world.sh ## 올바른 방법

각 실행 방식의 차이점

첫 번째 방법(sh)은 잘못된 방법입니다. sh는 Bash가 아닌 일반 셸 인터프리터를 사용하기 때문에, 스크립트 첫 줄에 정의된 #!/bin/bash 설정이 무시될 수 있습니다.

두 번째 방법(./)이 가장 권장되는 방법입니다. 스크립트 파일 자체를 실행하면 파일 첫 줄의 셔뱅(#!/bin/bash)에 정의된 인터프리터가 자동으로 사용됩니다.

세 번째 방법(bash)도 올바른 방법입니다. 명시적으로 Bash 인터프리터를 지정하여 실행하기 때문에, 파일에 정의된 인터프리터와 동일하게 동작합니다.

실행 시 "Permission denied" 오류 해결 방법

스크립트를 다음과 같이 실행했을 때:

$ ./hello_world.sh

-bash: ./hello_world.sh: Permission denied

Permission denied(권한 거부) 오류가 발생할 수 있습니다. 이는 스크립트 파일에 실행 권한이 부여되지 않았기 때문입니다.

chmod 명령어로 실행 권한을 추가하면 됩니다:

$ chmod +x ./hello_world.sh

실행 권한을 부여한 후 다시 스크립트를 실행하면 정상적으로 결과가 출력됩니다:

$ ./hello_world.sh

Hello World

지금까지 셔뱅의 개념부터 스크립트 작성, 실행 방법, 그리고 권한 오류 해결까지 Bash 스크립트의 기초를 살펴보았습니다. 이 기본기를 바탕으로 변수, 조건문, 반복문 등 더 복잡한 스크립트 작성으로 확장해 나갈 수 있습니다.