쉘 테스트 명령
셸의 테스트 명령은 특정 조건이 참인지 확인하는 데 사용되며 값, 문자 및 파일을 테스트할 수 있습니다.
수치 테스트
매개변수 | 설명 |
---|---|
-eq | 같다면 참입니다 |
-네 | 같지 않으면 참 |
-gt | 그보다 크면 true |
-ge | |
보다 크거나 같으면 true입니다. -lt | |
보다 작으면 true입니다. -르 | 작거나 같으면 true |
예시 시연:
num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi
출력 결과:
两个数相等!
문자열 테스트
매개변수 | 설명 |
---|---|
= | 같다면 참입니다 |
!= | 같지 않으면 참 |
-z 문자열 | 문자열의 길이가 0이면 참 |
-n 문자열 | 문자열의 길이가 0이 아니면 참입니다 |
예시 시연:
num1="php" num2="php" if test num1=num2 then echo '两个字符串相等!' else echo '两个字符串不相等!' fi
출력 결과:
两个字符串相等!
파일 테스트
매개변수 | 설명 |
---|---|
-e 파일 이름 | 파일이 존재하면 참 |
-r 파일 이름 | 파일이 존재하고 읽을 수 있으면 참입니다 |
-w 파일 이름 | 파일이 존재하고 쓰기 가능하면 참입니다 |
-x 파일 이름 | 파일이 존재하고 실행 가능하면 참입니다 |
-s 파일 이름 | 파일이 존재하고 문자가 하나 이상 있으면 참입니다. |
-d 파일 이름 | 파일이 존재하고 디렉토리이면 True |
-f 파일 이름 | 파일이 존재하고 일반 파일이면 True |
-c 파일 이름 | 해당 파일이 존재하고 문자 특수 파일이면 True |
-b 파일 이름 | 파일이 존재하고 블록 특수 파일인 경우 참입니다 |
예시 데모:
cd /bin if test -e ./bash then echo '文件已存在!' else echo '文件不存在!' fi
출력 결과:
文件已存在!
또한 셸은 (!)가 아닌 (-a) 또는 (-o)도 제공합니다. 테스트 조건을 연결하는 데 세 가지 논리 연산자가 사용되며 우선 순위는 "!"가 가장 높고, "-a"가 두 번째, "-o"가 가장 낮습니다. 예:
cd /bin if test -e ./notFile -o -e ./bash then echo '有一个文件存在!' else echo '两个文件都不存在' fi
출력 결과:
有一个文件存在!