기계는 거짓말하지 않는다

Bash Shell Script 실행 중 에러 자동 처리 본문

Linux

Bash Shell Script 실행 중 에러 자동 처리

KillinTime 2023. 4. 29. 14:53

Linux Bash Shell Script를 작성하고 실행 도중 오류가 나면

다음 명령어를 중지하고 싶을 때, 아래와 같이 작성할 수 있다.

#! /bin/bash

# set -e 추가
set -e

echo "Hello"
# Exception 발생하는 C 프로그램
./hello
# 없는 디렉터리 mkdir
mkdir aaa/aaaaa
echo "Bash Shell Finished"

set -e 명령어를 사용하면 명령 실행 도중 오류 시, 스크립트는 중지된다.

반대로 set +e 명령어를 사용하면 오류가 나더라도 그대로 진행한다.

 

아래는 예시 결과이다.

hello.c 코드

#include <stdio.h>
int main(void)
{
        printf("hello world\n");
        int i = 1;
        i /= 0;
        return 0;
}

gcc -o hello hello.c 컴파일 후 hello 실행파일 생성

 

test_bash.sh는 처음 기술한 스크립트와 같다.

실행하면 아래와 같은 결과를 볼 수 있다.

 

반대로 set -e 명령어를 사용하지 않았을 때의 결과는 아래와 같다.

 

스크립트가 끝까지 진행되는 것을 볼 수 있다.

Comments