Shell 비교 연산자

매번 까먹는다;;;

 산술 비교 연산자 

    ○ val1 -eq val2  변수 val1과 변수 val2 같은 경우 true

    ○ val1 -ne val2  변수 val1과 변수 val2 다른 경우 true

    ○ val1 -qt val2  변수 val1이 변수 val2 보다 큰 경우 true

    ○ val1 -lt val2  변수 val1이 변수 val2 보다 작은 경우 true

    ○ val1 -ge val2  변수 val1이 변수 val2 보다 크거나 같은 경우 true

    ○ val1 - le val2 : 변수 val1이 변수 val2 보다 작거나 가은 경우 true

 

    파일 검사 연산자 

    ○ -a : 파일이 존재한 경우 true

    ○ -b : 파일이 존재하고 블록장치 파일인 경우 true

    ○ -c : 파일이 존재하고 캐릭터 장치 파일인 경우 true

    ○ -d : 파일이 존재하고 디렉토리인 경우 true

    ○ -e : 파일이 존재하고 파일이 있는 경우 true

    ○ -f : 파일이 존재하고 정규 파일인 경우 true

    ○ -g : 파일이 존재하고 SetGID가 설정된 경우 true

    ○ -h : 파일이 존재하고 한 개 이상의 심볼릭 링크가 설정된 경우 true

    ○ -k : 파일이 존재하고 Sticky bit가 설정된 경우 true

    ○ -p : 파일이 존재하고 FIFO인 경우 true

    ○ -r : 파일이 존재하고 읽기 가능한 경우 true

    ○ -s : 파일이 존재하고 0보다 큰 경우 true

    ○ -u : 파일이 존재하고 SetUID가 설정된 경우 true

    ○ -w : 파일이 존재하고 쓰기가 가능한 경우 true

    ○ -x : 파일이 존재하고 실행 가능한 경우 true

 

    문자열 비교 연산자 

    ○ -z string          문자열의 길이가 0인 경우 true

    ○ -n string          문자열의 길이가 0이 아닌 경우 true

    ○ string1  = string2 : 문자열 string1 string2가 일치하는 경우 

    ○ string1 != string2 : 문자열 string1 string2가 일치하지 않는 경우 

    ○ string             문자열이 NULL이 아닌 경우 

Notes

  1. zinsanghyun posted this