test -z 로 변수 존재 여부 테스트
이 단계에서는 -z 옵션과 함께 test 명령을 사용하여 변수가 비어 있는지 또는 설정되지 않았는지 확인하는 방법을 배우게 됩니다. 이는 변수에 값이 있는지 여부에 따라 결정을 내리기 위해 스크립팅에서 유용합니다.
test 명령은 조건식의 평가에 사용됩니다. -z 옵션은 문자열의 길이가 0 인지 확인합니다. 문자열이 비어 있거나 (또는 변수가 설정되지 않은 경우) 테스트는 참입니다.
MY_VARIABLE이라는 변수가 설정되었는지 테스트해 보겠습니다. 먼저, 설정되지 않았는지 확인합니다.
다음 명령을 입력하고 Enter 키를 누르세요.
unset MY_VARIABLE
unset 명령은 변수를 제거합니다. 이제 test -z를 사용하여 MY_VARIABLE이 비어 있는지 확인해 보겠습니다. 결과를 보기 위해 echo와 결합합니다. && 연산자는 첫 번째 명령이 성공하는 경우에만 두 번째 명령을 실행합니다 (참 값을 반환하며, test의 경우 조건이 충족됨을 의미합니다).
다음 명령을 입력하고 Enter 키를 누르세요.
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
방금 MY_VARIABLE을 해제했으므로 test -z "$MY_VARIABLE" 조건은 참입니다 (변수가 비어 있음). 따라서 echo 명령이 실행됩니다.
다음과 같은 출력이 표시되어야 합니다.
MY_VARIABLE is empty or not set
이제 MY_VARIABLE에 값을 설정해 보겠습니다.
다음 명령을 입력하고 Enter 키를 누르세요.
MY_VARIABLE="Hello"
이제 동일한 test -z 명령을 다시 실행해 보겠습니다.
다음 명령을 입력하고 Enter 키를 누르세요.
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
이번에는 MY_VARIABLE에 "Hello" 값이 있으므로 비어 있지 않습니다. test -z "$MY_VARIABLE" 조건은 거짓이며, echo 명령은 실행되지 않습니다.
이번에는 echo 명령에서 출력이 표시되지 않아야 합니다.
이는 test -z를 사용하여 변수가 비어 있는지 또는 설정되지 않았는지 확인하는 방법을 보여줍니다. 이는 조건부 로직을 위한 셸 스크립팅에서 사용되는 기본적인 개념입니다.