[Shell] 선언되지 않은 변수 사용 시 스크립트 종료

by 스뎅(thDeng) on

bash 스크립트는 변수를 사용하기 전에 먼저 선언되거나 할당되지 않으면 없는듯이 스쳐지나간다.

만일, 미리 선언되지 않은 변수를 사용했을 때 스크립트를 종료시키고 싶다면 이 옵션을 주면 된다.

set -o nounset
# 또는
set -u

테스트 스크립트를 만들어서 고고!!

#!/bin/bash
set -o nounset

echo "START"
echo ${UNKNOWN_VAR}
echo "END"

결과는 아래처럼 나온다. UNKNOWN_VAR를 찾지 못 한다고 하면서 END를 출력하지 않고 스크립트를 종료해 버린다.

$ ./test.sh
START
./test.sh: line 5: `UNKNOWN_VAR`: unbound variable

참고

별도로 명시하지 않을 경우, 이 블로그의 포스트는 다음 라이선스에 따라 사용할 수 있습니다: Creative Commons License CC Attribution-NonCommercial-ShareAlike 4.0 International License