Linux Shell Script


셸 스크립트(Shell Script)는 리눅스와 유닉스 시스템에서 셸 명령어를 순차적으로 실행하는 스크립트 파일입니다. 주로 시스템 관리, 자동화, 작업 스케줄링 등에 사용되며, 특히 Bash 셸 스크립트가 가장 널리 사용됩니다. 이를 통해 복잡한 작업을 자동화하고, 일관된 환경을 유지할 수 있습니다.

셸 스크립트의 기본 구조

셸 스크립트는 일련의 셸 명령어와 제어 구조로 구성됩니다. 보통 .sh 확장자를 가집니다.

#!/bin/bash

# 주석은 이렇게 작성합니다.

# 변수 정의
NAME="World"

# 명령어 실행
echo "Hello, $NAME!"
echo "Current date and time: $(date)"

위 예시는 간단한 Bash 셸 스크립트로, “Hello, World!”와 현재 날짜와 시간을 출력하는 스크립트입니다.

셸 스크립트에서 사용하는 주요 명령어 및 기능

  1. 변수와 할당 변수를 정의하고 값을 할당할 수 있습니다.
   NAME="World"
  1. 사용자 입력 처리 사용자 입력을 받을 수 있습니다.
   echo "What's your name?"
   read USER_NAME
   echo "Hello, $USER_NAME!"
  1. 조건문 조건에 따라 다른 명령어를 실행할 수 있습니다.
   if [ "$USER" == "admin" ]; then
       echo "Welcome, administrator!"
   else
       echo "Access denied."
   fi
  1. 반복문 명령어 블록을 반복 실행할 수 있습니다.
   for i in {1..5}; do
       echo "Count: $i"
   done
  1. 함수 함수를 정의하고 호출하여 코드를 모듈화할 수 있습니다.
   greet() {
       echo "Hello, $1!"
   }

   greet "Alice"
  1. 파일 처리 파일 생성, 삭제, 복사, 이동 등을 셸 스크립트에서 수행할 수 있습니다.
   touch file.txt
   cp file.txt backup/
   rm file.txt
  1. 에러 처리 명령어 실행 중 발생하는 오류를 처리할 수 있습니다.
   if ! command; then
       echo "Error: Command failed."
       exit 1
   fi
  1. 환경 변수와 매개변수 환경 변수와 스크립트에 전달된 매개변수를 사용할 수 있습니다.
   echo "Home directory: $HOME"
   echo "Script name: $0"
   echo "First argument: $1"
  1. 파일 리다이렉션과 파이프라인 파일로의 출력이나 다른 명령어의 입력을 처리할 수 있습니다.
   echo "Hello" > output.txt
   cat input.txt | grep "pattern"
  1. 프로그램 실행 다른 프로그램이나 명령어를 셸 스크립트에서 실행할 수 있습니다. result=$(ls) echo "Directory contents: $result"

셸 스크립트 실행 방법

셸 스크립트는 실행 권한을 가진 후 실행할 수 있습니다.

  1. 실행 권한 추가
   chmod +x script.sh
  1. 스크립트 실행
   ./script.sh

주의사항

  • 스크립트에서 오류를 최소화하기 위해 존재하지 않는 파일을 조작하지 않도록 주의해야 합니다.
  • 사용자 입력을 받을 때 유효성 검사를 수행하여 예상치 못한 입력에 대비해야 합니다.
  • 환경 변수와 경로를 신중하게 다루어 시스템에 영향을 주지 않도록 해야 합니다.

셸 스크립트는 강력한 시스템 관리 도구로, 다양한 시나리오에서 시스템 자동화와 작업 효율성을 높이는 데 중요한 역할을 합니다.


Leave a Reply

Your email address will not be published. Required fields are marked *