쉘 스크립트
기술노트
📜 쉘 스크립트 (Shell Script)
쉘 스크립트는 UNIX/Linux 운영체제에서 쉘(Shell)이 해석하고 실행할 수 있는 명령어들의 집합을 파일로 작성한 것입니다. 반복적인 작업을 자동화하거나, 여러 명령어를 순차적으로 실행해야 할 때 사용됩니다.
쉘은 사용자와 운영체제 커널 사이에서 명령어를 해석하고 실행하는 인터페이스 역할을 합니다. 쉘 스크립트는 이 쉘의 기능을 활용하여 복잡한 작업을 자동화하는 데 사용됩니다.
🤔 쉘 스크립트는 왜 필요한가?
- 작업 자동화 : 매일 반복적으로 수행해야 하는 작업(예: 로그 파일 정리, 백업, 서버 시작/종료)을 스크립트 하나로 자동화할 수 있습니다.
- 일괄 처리 : 여러 명령어를 한 번에 실행해야 할 때, 스크립트로 작성하여 편리하게 처리할 수 있습니다.
- 시스템 관리 : 서버의 상태를 모니터링하거나, 특정 조건에 따라 시스템 설정을 변경하는 등 시스템 관리에 유용합니다.
- 개발 환경 설정 : 새로운 개발 환경을 구축할 때, 필요한 프로그램 설치나 환경 변수 설정을 스크립트로 자동화할 수 있습니다.
⚙️ 쉘 스크립트의 기본 문법
- 첫 줄 (Shebang) : 스크립트를 실행할 쉘의 종류를 명시합니다. (예: `#!/bin/bash`)
- 변수 : `변수명=값` 형태로 선언하고, `$변수명`으로 사용합니다.
- 주석 : `#`으로 시작하는 줄은 주석으로 처리됩니다.
- 조건문 : `if`, `elif`, `else`, ``fi`를 사용하여 조건을 처리합니다.
- 반복문 : `for`, `while`을 사용하여 반복 작업을 수행합니다.
- 입출력 : `echo`로 출력하고, `read`로 입력받습니다.
```bash
- !/bin/bash
- 변수 선언
NAME="World"
- 출력
echo "Hello, $NAME!"
- 조건문
if [ -d "./logs" ]; then
echo "logs 디렉토리가 존재합니다."
else
echo "logs 디렉토리가 없습니다. 생성합니다." mkdir logs
fi ```
💡 정보처리기사 핵심 Point
- 쉘 스크립트는 UNIX/Linux 기반 시스템에서 반복적인 작업을 자동화하는 데 매우 강력한 도구입니다.
- 정보처리기사 시험에서는 쉘 스크립트의 기본 문법(변수, 조건문, 반복문 등)과 특정 스크립트의 실행 결과를 묻는 문제가 출제될 수 있습니다.
- `bash`, `sh`, `zsh` 등 다양한 쉘이 있으며, 각각 약간의 문법적 차이가 있을 수 있습니다.