[shell] 로깅 및 오류 처리

이 문서는 쉘 스크립트에서 로깅 및 오류 처리를 하는 방법에 대해 다룬다. 쉘 스크립트에서 로깅을 하는 이유와, 로깅을 위한 여러 가지 방법들과 함께 오류 처리를 하는 방법에 대해 살펴볼 것이다.

목차

  1. 로깅
  2. 오류 처리
  3. 결론

로깅

로깅은 작동 중인 프로세스 및 액티비티를 기록하는 것을 말한다. 쉘 스크립트에서 로깅을 하는 이유는 디버깅, 추적, 사용자 알림 등이 있다. 로깅을 통해 스크립트의 실행 과정, 에러 발생 시 그 원인 등을 추적할 수 있다.

로그를 파일에 기록하고자 한다면, echoprintf 명령어와 함께 리다이렉션을 사용하여 파일에 기록할 수 있다. 다음은 로그를 파일에 기록하는 예시이다.

#!/bin/bash

LOG_FILE="script.log"

# 로그 파일에 기록
echo "INFO: Script started" >> "$LOG_FILE"

오류 처리

쉘 스크립트에서 오류 처리를 하는 방법은 여러가지가 있는데, 가장 기본적인 방법으로는 if 문을 이용하여 조건을 확인하고 exit 명령어로 프로그램을 종료시킨다. 또한, trap 명령어를 사용하여 스크립트 실행 중에 발생할 수 있는 신호(signal)를 처리할 수 있다.

다음은 오류 처리를 하는 예시이다.

#!/bin/bash

# 스크립트 실행 중에 에러 발생 시 프로그램 종료
set -e

# 예외 처리
trap 'echo "ERROR: Script failed at line $LINENO" >> "$LOG_FILE"; exit 1' ERR

결론

로깅과 오류 처리는 쉘 스크립트에서 중요한 부분이다. 로깅을 통해 스크립트의 실행 과정을 기록하여 추적할 수 있고, 오류 처리를 통해 예외 상황에 대한 대비를 할 수 있다.

이 문서에서는 간단히 로깅과 오류 처리에 대해 알아보았는데, 세부적인 내용과 더 많은 방법들을 공부하고자 한다면 Bash Reference Manual 등의 자료를 참고할 수 있다.

참고 자료