Hello, Bash!
환경 설정이 끝났습니다. 이제 Bash를 직접 실행해볼 시간입니다. 프로그래밍을 배울 때 전통적으로 첫 번째로 출력하는 문장이 있죠. "Hello, World!"입니다. 여기서는 Bash 버전으로 인사를 나눠봅니다.
터미널에서 직접 명령 실행하기
Bash는 파일을 따로 만들지 않아도 터미널에서 바로 명령을 실행할 수 있습니다. 명령 프롬프트 뒤에 입력하고 Enter를 누르면 즉시 실행됩니다.
echo "Hello, Bash!"
실행 결과는 다음과 같이 나타납니다.
Hello, Bash!
echo는 뒤에 오는 내용을 화면에 출력하는 명령입니다. 이게 Bash의 가장 기본적인 출력 방법입니다.
터미널에서 몇 가지 명령을 더 실행해봅니다.
# 현재 시간 출력date# 현재 로그인한 사용자 이름 출력whoami# 현재 작업 중인 디렉토리 출력pwd
실행 결과는 다음과 같이 나타납니다.
2026년 4월 24일 금요일 20:00:00 KST
jeongps
/home/jeongps
이처럼 리눅스 명령어들은 각자 정해진 정보를 출력합니다. Bash 스크립트는 이런 명령어들을 조합해서 더 복잡한 작업을 자동화합니다.
첫 번째 스크립트 파일 작성하기
터미널에서 명령을 하나씩 입력하는 방식은 간단한 작업에는 좋지만, 여러 명령을 반복해서 실행해야 한다면 불편합니다. 이럴 때 스크립트 파일을 만들면 됩니다.
nano로 hello.sh 파일을 만들어봅니다.
nano hello.sh
편집기가 열리면 아래 내용을 입력합니다.
#!/bin/bash# 새 파일: hello.shecho "Hello, Bash!"echo "현재 시간: $(date)"echo "현재 사용자: $(whoami)"echo "현재 디렉토리: $(pwd)"
Ctrl+O로 저장하고 Ctrl+X로 종료합니다.
첫 번째 줄 #!/bin/bash는 셔뱅(shebang)이라고 부릅니다. 이 파일을 어떤 프로그램으로 실행할지 운영체제에게 알려주는 역할을 합니다. /bin/bash는 Bash 인터프리터의 경로입니다. 이 줄이 없으면 시스템이 기본 쉘로 실행하는데, 환경마다 다를 수 있어서 명시적으로 적어두는 것이 좋습니다.
$(명령어) 형태는 명령어 치환(command substitution)입니다. 괄호 안의 명령을 실행한 결과를 해당 위치에 집어넣습니다. $(date)는 date 명령의 출력 결과로 대체됩니다.
실행 권한 부여하기
파일을 만들었다고 바로 실행할 수 있는 것은 아닙니다. 리눅스는 파일마다 실행 권한을 따로 관리합니다. chmod 명령으로 실행 권한을 부여합니다.
chmod +x hello.sh
권한이 제대로 부여됐는지 확인합니다.
ls -l hello.sh
실행 결과는 다음과 같이 나타납니다.
-rwxr-xr-x 1 jeongps jeongps 103 4월 24 20:05 hello.sh
맨 앞의 -rwxr-xr-x에서 x가 실행 권한을 의미합니다. 이제 스크립트를 실행할 수 있습니다.
스크립트 실행하기
./hello.sh
실행 결과는 다음과 같이 나타납니다.
Hello, Bash!
현재 시간: 2026년 4월 24일 금요일 20:05:30 KST
현재 사용자: jeongps
현재 디렉토리: /home/jeongps
네 줄의 명령이 순서대로 실행되어 결과가 출력됩니다.
bash hello.sh vs ./hello.sh
스크립트를 실행하는 방법은 두 가지입니다. 어떤 차이가 있을까요.
# 방법 1: bash 명령으로 직접 실행bash hello.sh# 방법 2: 실행 파일처럼 실행./hello.sh
두 방법 모두 같은 결과를 출력합니다. 하지만 동작 방식이 다릅니다.
| 항목 | bash hello.sh |
./hello.sh |
|---|---|---|
| 실행 권한 필요 | 불필요 | 필요 (chmod +x) |
셔뱅(#!/bin/bash) |
무시 | 참조해서 인터프리터 결정 |
| 사용 상황 | 빠르게 테스트할 때 | 완성된 스크립트를 실행할 때 |
bash hello.sh는 "bash라는 프로그램으로 hello.sh 파일을 해석해서 실행해"라고 직접 지시하는 방식입니다. 실행 권한이 없어도 됩니다.
./hello.sh는 "현재 디렉토리(.)에 있는 hello.sh를 실행해"라고 지시하는 방식입니다. 운영체제가 셔뱅 줄을 읽어서 어떤 인터프리터로 실행할지 결정합니다. 실행 권한이 반드시 있어야 합니다.
이 장에서 배운 내용
이 장에서는 Bash 실습을 위한 기반을 모두 다졌습니다.
- Ubuntu 24.04를 WSL2 또는 가상머신으로 설치했습니다.
- 터미널 에뮬레이터를 선택하고
.bashrc로 프롬프트와 alias를 커스터마이징했습니다. - nano와 vi/vim의 기본 사용법을 익혔습니다.
- 첫 번째 Bash 스크립트
hello.sh를 작성하고 실행했습니다.
다음 장부터는 리눅스 기본 명령어를 하나씩 배우면서 Bash로 실제 유용한 일을 할 수 있는 기반을 쌓아나갑니다.