쉘 스크립트

기술노트

📜 쉘 스크립트 (Shell Script)

쉘 스크립트는 UNIX/Linux 운영체제에서 쉘(Shell)이 해석하고 실행할 수 있는 명령어들의 집합을 파일로 작성한 것입니다. 반복적인 작업을 자동화하거나, 여러 명령어를 순차적으로 실행해야 할 때 사용됩니다.

쉘은 사용자와 운영체제 커널 사이에서 명령어를 해석하고 실행하는 인터페이스 역할을 합니다. 쉘 스크립트는 이 쉘의 기능을 활용하여 복잡한 작업을 자동화하는 데 사용됩니다.


🤔 쉘 스크립트는 왜 필요한가?

  • 작업 자동화 : 매일 반복적으로 수행해야 하는 작업(예: 로그 파일 정리, 백업, 서버 시작/종료)을 스크립트 하나로 자동화할 수 있습니다.
  • 일괄 처리 : 여러 명령어를 한 번에 실행해야 할 때, 스크립트로 작성하여 편리하게 처리할 수 있습니다.
  • 시스템 관리 : 서버의 상태를 모니터링하거나, 특정 조건에 따라 시스템 설정을 변경하는 등 시스템 관리에 유용합니다.
  • 개발 환경 설정 : 새로운 개발 환경을 구축할 때, 필요한 프로그램 설치나 환경 변수 설정을 스크립트로 자동화할 수 있습니다.

⚙️ 쉘 스크립트의 기본 문법

  • 첫 줄 (Shebang) : 스크립트를 실행할 쉘의 종류를 명시합니다. (예: `#!/bin/bash`)
  • 변수 : `변수명=값` 형태로 선언하고, `$변수명`으로 사용합니다.
  • 주석 : `#`으로 시작하는 줄은 주석으로 처리됩니다.
  • 조건문 : `if`, `elif`, `else`, ``fi`를 사용하여 조건을 처리합니다.
  • 반복문 : `for`, `while`을 사용하여 반복 작업을 수행합니다.
  • 입출력 : `echo`로 출력하고, `read`로 입력받습니다.

```bash

  1. !/bin/bash
  1. 변수 선언

NAME="World"

  1. 출력

echo "Hello, $NAME!"

  1. 조건문

if [ -d "./logs" ]; then

   echo "logs 디렉토리가 존재합니다."

else

   echo "logs 디렉토리가 없습니다. 생성합니다."
   mkdir logs

fi ```


💡 정보처리기사 핵심 Point

  • 쉘 스크립트는 UNIX/Linux 기반 시스템에서 반복적인 작업을 자동화하는 데 매우 강력한 도구입니다.
  • 정보처리기사 시험에서는 쉘 스크립트의 기본 문법(변수, 조건문, 반복문 등)과 특정 스크립트의 실행 결과를 묻는 문제가 출제될 수 있습니다.
  • `bash`, `sh`, `zsh` 등 다양한 쉘이 있으며, 각각 약간의 문법적 차이가 있을 수 있습니다.