if문에서 영문 숫자 구별하기
2021. 2. 8. 13:05ㆍIT/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"를 사용하는 것도 좋다
'IT > S . e . v . e . r . I . n . f . r . a' 카테고리의 다른 글
현재디렉토리의 숨김파일 포함 압축 (0) | 2021.03.01 |
---|---|
^M 문자로 인해 shell script 오류발생시 해결법 (0) | 2021.03.01 |
쉘 스크립트로 액세스로그에서 날짜별 액세스 수 추출하기 (0) | 2021.02.18 |
if문의 조건의 문자열 일부 매칭 (0) | 2021.02.08 |
find 명령의 mtime 옵션 정리 (0) | 2021.02.08 |
쉘 스크립트에서 문자열이 매칭되었을 때 분기하기 (0) | 2020.06.05 |