if문에서 영문 숫자 구별하기

2021. 2. 8. 13:05IT/S . e . v . e . r . I . n . f . r . a

if문에서 변수가 숫자 또는 문자로 되어 있는지를 판단하기 위한

방법을 알아보도록 합시다.

 

먼저 숫자로 되어 있는 것을 확인 하는 방법입니다.

#!/bin/bash

VAR_SRVNAME="12345"

if [[ ${VAR_SRVNAME} =~ ^[0-9]+$ ]]; then
  echo "3rd find it"
fi

 

영문 소문자로 되어 있는지 확인하는 방법입니다.

#!/bin/bash

VAR_SRVNAME="abc"

if [[ ${VAR_SRVNAME} =~ ^[a-z]+$ ]]; then
  echo "3rd find it"
fi

 

마찬가지 형식으로 영문 대문자로 되어 있는지 확인 하는 방법입니다.

#!/bin/bash

VAR_SRVNAME="ABC"

if [[ ${VAR_SRVNAME} =~ ^[A-Z]+$ ]]; then
  echo "3rd find it"
fi

 

마지막으로 영문 대소문자로 되어 있는 지 확인하는 방법입니다.

#!/bin/bash

VAR_SRVNAME="ABCdef"

if [[ ${VAR_SRVNAME} =~ ^[A-Za-z]+$ ]]; then
  echo "3rd find it"
fi

 

다만 if문을 통한 값의 판단식은 변수에 아무것도 할당되어 있지 않아도 
True를 반환하기 때문에 이중 if문으로 감싸 주던가 "expr match"를 사용하는 것도 좋다