리눅스 쉘 스크립트 학습 - 비교 메타 문자열

Purple·2022년 11월 14일
0

리눅스 쉘 스크립트

목록 보기
41/53

[..]을 이용한 TEST

-f

  • file의 존재유무를 비교할 수 있게 한다.
  • 이외에도 다음과 같은 비교 메타 문자열이 존재한다.

$(ls -A)

  • ls 명려어의 결과로 파일이 존재하는지 확인 가능하다.

-e FILE : 파일이 있는 경우 True
-f FILE : 파일이 일반 파일인 경우 True
-d FILE : 파일이 디렉토리인 경우 True
-h FILE : 파일이 심볼 링크인 경우 True
-p PIPE : 파이프가 있는 경우 True
-r FILE : 사용자가 파일을 읽을 수 있는 경우 True
-s FILE : 파일이 존재하며, 비어 있지 않은 경우 True
-t FD : 터미널에서 FD가 열려 있는 경우 True
-w FILE : 사용자가 파일을 쓸 수 있는 경우 True

-x FILE : 파일이 실행 가능한 경우 True
-O FILE : 파일이 사용자가 효과적으로 소유하는 경우 True
-G FILE : 파일이 그룹에 의해 효과적으로 소유되는 경우 True
FILE -nt FILE : 첫 번째 파일이 두 번째 파일보다 최신이면 True
FILE -ot FILE : 첫 번째 파일이 두 번째 파일보다 오래된 경우 True

-z STRING : 문자열이 비어 있으면 True
-n STRING : 문자열이 비어 있찌 않은 경우 True
-STRING = STRING : 첫 번째 문자열이, 두 번째 문자열과 동일한 경우 True
-STRING != STRING : 첫 번째 문자열이, 두 번째 문자열과 동일하지 않은 경우 True
-STRING < STRING : 첫 번째 문자열이, 두 번째 문자열보다 먼저 정렬되는 경우 True
-STRING > STRING : 첫 번째 문자열이, 두 번째 문자열보다 뒤에 정렬되는 경우 True

-EXPR -a EXPR : 두 식이 모두 참이면 참이다. (logical AND)
-EXPR -o EXPR : 두 식 중 하나가 참이면 참이다. (logcial OR)
-! EXPR : 표현식의 결과를 반전한다.(logical NOT)
-INT -eq INT : 두 정수가 동일한 경우 True
-INT -ne INT : 두 정수가 동일하지 않은 경우 True
-INT -lt INT : 첫 번째 정수가 두 번째 정수보다 작은 경우 True
-INT -gt INT : 첫 번째 정수가 두 번째 정수보다 큰 경우 True
-INT -le INT : 첫 번째 정수가 두 번째 정수보다 작거나 같으면 True
-INT -ge INT : 첫 번째 정수가 두 번째 정수보다 크거나 같은 경우 True

[[..]]을 이용한 TEST

-STRING = (or ==) PATERN : 문자열이 글로브 패턴과 일치하는 경우 Ture
-STRING != PATTERN : 문자열이 글로브 패턴과 일치하지 않는 경우 True
-STRING =~ REGEX : 문자열이 regex 패턴과 일치하는 경우 True
-(EXPR) : 괄호를 사용하여 평가 우선 순위를 변경할 수 있다.
-EXPR && EXPR : 위 테스트의 '-a' 와 매우 유사하지만, 첫 번째 표현식이 이미 거짓으로 파면되면, 두 번째 표현식을 평가하지 않는다.
-EXPR || EXPR : 테스트의 '-o'와 매우 유사하지만, 첫 번째 표현식이 이미 사실인 경우 두 번째 표현식을 평가하지 않는다.

profile
안녕하세요.

0개의 댓글