[shell] 쉘 스크립트 에러 처리
쉘 스크립트를 작성할 때는 에러 처리를 고려해야 합니다. 쉘 스크립트를 실행하다가 에러가 발생하면 적절한 방법으로 처리해야 합니다.
에러 처리를 위해 우리는 if
문, &&
, ||
등의 조건문과 함께 에러 발생 시 스크립트의 동작을 제어할 수 있습니다.
set -e
옵션
쉘 스크립트에서 set -e
옵션을 사용하면 에러가 발생하면 즉시 스크립트를 종료하게 됩니다. 이 옵션을 사용하면 스크립트에서 발생한 에러를 놓치지 않고 처리할 수 있기 때문에 유용합니다.
#!/bin/bash
set -e
# 스크립트 내용
예를 들어, 위와 같이 스크립트의 가장 위에 set -e
를 추가하면 스크립트에서 에러가 발생하면 즉시 스크립트가 종료됩니다.
조건문으로 에러 처리
때로는 스크립트 실행 중에 에러가 발생해도 무시하고 계속 진행해야 할 때가 있습니다. if
문이나 &&
, ||
연산자를 사용하여 조건에 따라 에러 처리를 할 수 있습니다.
#!/bin/bash
# 에러가 발생해도 계속 진행
command || true
# 에러가 발생하면 처리
command && echo "Success" || echo "Failed"
위와 같이 || true
를 사용하면 에러가 발생해도 계속 진행하고, &&
와 ||
연산자를 사용하여 조건에 따라 성공이나 실패 메시지를 출력할 수 있습니다.
예외 처리
특정 명령어의 실행 결과에 따라 에러를 처리해야 할 때는 if
문을 사용하여 예외 처리를 할 수 있습니다.
#!/bin/bash
# 명령어 실행
result=$(command)
if [ $? -ne 0 ]; then
echo "Command failed: $result"
fi
위와 같이 $?
변수를 사용하여 바로 이전 명령어의 종료 코드를 확인하고, 그에 따라 에러를 처리할 수 있습니다.
쉘 스크립트에서는 이처럼 set -e
옵션과 조건문을 사용하여 에러 처리를 할 수 있습니다. 이를 통해 스크립트가 안정적으로 실행될 수 있도록 보장할 수 있습니다.