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이 아닌 경우