[shell] 로깅 및 오류 처리
이 문서는 쉘 스크립트에서 로깅 및 오류 처리를 하는 방법에 대해 다룬다. 쉘 스크립트에서 로깅을 하는 이유와, 로깅을 위한 여러 가지 방법들과 함께 오류 처리를 하는 방법에 대해 살펴볼 것이다.
목차
로깅
로깅은 작동 중인 프로세스 및 액티비티를 기록하는 것을 말한다. 쉘 스크립트에서 로깅을 하는 이유는 디버깅, 추적, 사용자 알림 등이 있다. 로깅을 통해 스크립트의 실행 과정, 에러 발생 시 그 원인 등을 추적할 수 있다.
로그를 파일에 기록하고자 한다면, echo
나 printf
명령어와 함께 리다이렉션을 사용하여 파일에 기록할 수 있다. 다음은 로그를 파일에 기록하는 예시이다.
#!/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 등의 자료를 참고할 수 있다.
참고 자료