리눅스 - 쉘 스크립트(Shell Script)

코린이·2024년 11월 30일

Linux

목록 보기
26/27

📌 쉘 스크립트(Shell Script)

쉘 스크립트(Shell Script)는 리눅스/유닉스 운영 체제에서 쉘을 사용하여 작성된 명령어들의 모음이다.

  • 쉘(Shell) : 운영 체제에서 사용자와 커널 사이를 연결해 주는 프로그램이다. 사용자가 입력한 명령을 해석하고, 해당 명령을 처리하여 결과를 반환한다.

쉘 스크립트를 사용하면 여러 명령어를 하나의 파일로 묶어 실행할 수 있으며, 이를 통해 자동화, 배치 작업 처리, 시스템 관리 등의 작업을 쉽게 처리할 수 있다.


📌 배시 쉘 스크립트(Bash Shell Script)

배시 쉘 스크립트(Bash Shell Script)배시 쉘을 사용하여 작성된 쉘 스크립트를 의미하며, 인터프리터 방식으로 동작된다.

  • 배시(Bash) : Bourne Again Shell의 약자로 리눅스와 유닉스 계열에서 가장 많이 사용되는 쉘이다. (보통 "쉘 스크립트"라고 하면, 대부분 배시 쉘 스크립트를 의미)

✅ 배시 쉘 스크립트 기본 사용법

쉘 스크립트 파일의 확장자는 .sh를 주로 사용한다. .sh 확장자는 모든 쉘 스크립트 파일에 관례로 사용하지만, 특정 쉘에 따라 확장자를 다르게 사용하여 파일을 구분할 수도 있다.

쉘 스크립트 파일의 확장자는 실제 파일 실행 실행에 있어 영향을 끼치진 않는다. 실제 파일의 실행에 영향을 끼치는 부분은 셔뱅(shebang) 부분이다.

쉘 스크립트 파일 생성

touch shell_script_file.sh

셔뱅(shebang) 지정

셔뱅은 #!로 시작하며, 그 뒤에는 실행할 프로그램의 경로를 지정한다.
(bin 디렉토리 내 bash 프로그램을 사용하여 파일 실행)

#!/bin/bash

명령어 작성

셔뱅 작성 후 명령어를 작성하여 스크립트 파일 작성

echo "Hello World"

쉘 스크립트 파일 권한 부여 및 실행

스크립트 파일을 실행하기 위해서는 실행 권한이 있어야 한다.

# shell_script_file에 실행 권한(x) 부여
chmod +x shell_script_file.sh

스크립트 파일 실행

새로운 쉘 프로세스에서 스크립트 실행

# 실행 권한이 없는 경우 실행 불가
./shell_script_file.sh

소싱 방식 스크립트 파일 실행

현재 쉘 프로세스에서 스크립트 실행 (현재 쉘 프로세스 내에서 실행되기 때문에 실행 권한이 없어도 실행 가능)

source shell_script_file.sh

소싱 방식 스크립트 파일은 스크립트 파일 내에서도 실행이 가능하다.


🆚 비실행 방식 비교

./shell_script_file.shsource shell_script_file.sh
실행 프로세스새로운 쉘 프로세스에서 스크립트 실행현재 쉘 프로세스 환경에서 실행
변수/함수새로운 쉘 프로세스에서만 유효, 현재 쉘에는 영향X현재 쉘 프로세스에 영향을 미침
사용 상황독립적인 스크립트 실행, 시스템 명령어 실행 등쉘 환경 변경, 함수/변수 설정 등 환경 초기화

0개의 댓글