-> test 명령 연산자
=> 문자열 검사
[ string1 = string2 ] : string1은 string2와 같다
[ string1 == string2 ] : string1은 string2와 같다
[ string1 != string2 ] : string1은 string2와 다르다
(!= 양족에는 스페이스를 사용하여야 한다 )
[ string ] : string은 널이 아니다
[ -z string ] : string의 길이가 0 이다
[ -n string ] : string의 길이가 0이 아니다
[ -l string ] : string의 길이(문자의 개수)
=> 논리 검사
[ string1 -a string2 ] : and 연산자
[ string1 -o string2 ] : or 연산자
[ ! string1 ] : not 연산자
=> 논리검사(복합 test 명령)
[[ pattern1 && pattern2 ]] : pattern1과 pattern2가 모두 참
[[ pattern1 || pattern2 ]] : pattern1과 pattern2 중에 하나가 참
[[ ! pattern ]] : pattern과 같지 않다
=> 정수 검사
[ int1 -eq int2 ] : int1은 int2와 같다
[ int1 -ne int2 ] : int1은 int2와 다르다
[ int1 -gt int2 ] : int1은 int2보다 크다
[ int1 -ge int2 ] : int1은 int2보다 크거나 같다
[ int1 -lt int2 ] : int1은 int2보다 작다
[ int1 -le int2 ] : int1은 int2보다 작거나 같다
=> 파일 검사를 위한 이항 연산자
[ file1 -nt file2 ] : file1이 file2보다 새로운 파일이면 참
[ file1 -ot file2 ] : file1이 file2보다 오래된 파일이면 참
[ file1 -ef file2 ] : file1과 file2가 동일한 장치이거나 같은