티스토리 뷰

배쉬 스크립트를 사용할 때 set -e 옵션을 이용하여

스크립트 실행 중 오류가 발생하면 종료하게 설정이 가능하다.


#!/bin/bash
set -e


위와 같이 설정하여 사용한다.


에러가 나면 종료된다고 해서 잘쓰고 있었는데 사용에 주의해야 할 점이 하나있다.

* 그리고 외국사이트를 검색해보니 사용을 추천하지 않더라.


set -e의 경우 명령어를 실행한 리턴코드가 0이 아니면 프로그램을 종료하게 된다.

따라서 grep 같은 경우에 반환하는 값이 없으면 오류가 발생한 것이 되서 프로그램이 종료된다.


프로그램이 어떻게 실행되었는지 확인하기 위해서 grep 을 사용하여 단순 로그를 출력하는 프로그램을 작성했는데

grep의 반환결과가 없어서 프로그램이 종료되어 버렸다.


set -e 옵션을 이용하여 프로그램의 에러를 검출하고 싶을때는 리턴코드를 잘 생각해보고 사용한다.

그리고 되도록 set -e 옵션보다는 trap 을 이용하여 에러를 검출하여 처리하는 로직을 사용하는 것이 좋다.




참고


반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함