Programming

비교 표현식 eq ne lt le gt ge

nineDeveloper 2020. 8. 16. 10:54
728x90

비교 표현식

  • eq - equal ( = )
  • ne - not equal ( <> )
  • lt - little ( < )
  • le - little or equal ( <= )
  • gt - greater ( > )
  • ge - greater or equal ( >= )
구분 표현식 비교
크다 a gt b a > b
작다 a lt b a < b
크거나 같다 a ge b a >= b
작거나 같다 a le b a <= b
같다 a eq b a == b
같지 않다 a ne b a != b

Linux Shell 비교 연산자

숫자

  • -eq - 같다
  • -ne - 같지않다
  • -gt - 초과
  • -ge - 이상
  • -lt - 미만
  • -le - 이하

문자열

  • =, == - 같다
  • != - 같지 않다
  • -z - 문자열이 NULL 이다
  • -n - 문장열이 NULL 이 아니다

논리 연산자

  • -a - and, && (둘다 참)
  • -o - or, || (둘중 하나만 참)

응용 (파일 생성 시기 비교)

  • A -nt B - A파일이 B파일보다 최신임(newer than)
  • A -ot B - A파일이 B파일보다 예전것임(older than)

Shell 파일 관련 표현 방식

표현 방식 참이 되는 경우
[ -s filename ] file 이 존재하면서 0 보다 큰 경우
[ -f filename ] directory 가 아닌 file 인 경우(크기가 0인것도 포함)
[ -d directory_name ] file 이 아닌 directory 인 경우
[ -w filename ] 쓰기 가능한 경우
[ -r filename ] 읽기 가능한 경우
[ ! -option filename ] option의 조건이 거짓일때

Shell 표현 방식 예시

표현 방식 조건
[ $A -eq $B ] A 와 B 의 값이 같은 경우
[ $A -ne $B ] A 와 B 의 값이 다른 경우
[ $A -gt $B ] A 가 B 보다 큰 경우
[ $A -lt $B ] A 가 B 보다 작은 경우
[ $A -ge $B ] A 가 B 보다 크거나 같은 경우
[ $A -le $B ] A 가 B 보다 작거나 같은 경우
[ $String_1 == $String_2 ] 두 문자열이 같은 경우
[ $String_1 != $String_2 ] 두 문자열이 다른 경우
[ -z $String ] 문자열의 길이가 0인 경우
[ -n $String ] 문자열의 길이가 0이 아닌 경우
728x90