1, 일반적으로 사용되는 문법 시험 조건
테스트 테스트 표현식 | 사용 테스트는 조건 테스트 표현식, 명령 및 테스트 표현식 테스트 사이에 적어도 하나 개의 공간을 명령 |
[시험 식] | [] 괄호 발현을위한 시험 조건, [] 및 경계 괄호 테스트 발현 사이에 적어도 하나 개의 공간 |
[시험 식] | 조건이 식으로 시험한다 []는 대괄호 [[]] 이중 괄호 사이에 적어도 하나 개의 공간 표현을 테스트 |
((시험 식)) | (())이 테스트 발현 조건 괄호 ()) 비스 공간이 필요하지 괄호 단부 비스으로 흔히 비교 정수에 사용 |
설명 :
- 더블 괄호 [[]] 여러 다른 장소 문법의 다른 와일드 카드 일치 될 수있다
- &&, ||, <,> 오퍼레이터의 대괄호 []과 같이 사용될 수 있지만 []를, 일반적인 사용 -a, -O, -lt, -gt 대신에 []
예를 들면 :
1 개 테스트 -f /tmp/test.txt && 에코 1 || 에코 0 2 [-f /tmp/test.txt] && 에코 1 || 에코 0 3 [-f /tmp/test.txt] && 에코 1 || 에코 0 (4) (( 3 > 2 )) && 에코 1 || 0 에코
2, 테스트 표현식 사용
2.1, 파일 테스트 표현식
-d 파일 | 파일이 존재하고 디렉토리는 사실이다 |
-f 파일 | 파일이 존재하고 진정한 일반 파일입니다 |
-e 파일 | 존재 사실 파일, 디렉토리 또는 파일을 계산하지 않습니다 |
-s 파일 | 파일이 존재하고 파일 크기가 0 사실이 아니다 |
-r 파일 | 사실이 존재하고 읽기 및 스크립트 파일의 실행은 또한 사용자 권한에 관련이 |
-w 파일 | 파일이 존재하고 관련도 스크립트를 실행하는 사용자의 권한으로, 진정한 쓰기 가능 |
-x 파일 | 트루 파일이 존재하고 실행하고, 사용자 권한은 관련 스크립트를 실행 |
-L 파일 | 파일이 존재하고 진정한 파일 링크 |
F1 F2 -nt | 파일 수정 시간보다 진정한 새로운 파일의 F1, F2는 파일에 기초하여 계산된다 |
F1 F2 -ot | 파일 F2보다 오래된 파일 수정 시간에 따른 실제 파일 F1 구했다 |
2.2 문자열 테스트 표현식
-n "문자열" | 문자열의 길이는 사실이 0 인 경우 |
-z "문자열" | 만약 0 사실의 문자열의 길이 |
"串 1"= "串 2" | 문자열은 1 문자열 2 참 동일한 경우, 그것은 "=="대신 "="으로 사용될 수있다 |
"串 1"! = "串 2" | 문자열이 동일하지 않은 일에 충실 2 문자열을 사용할 수있는 경우! "=="대신 "! =" |
참고 :
- 당신이 문자열 뒤에 인용 부호를 추가 할보다 확실히 더 문자열 비교하십시오. 같은 [-n "$ 문자열"]
- =와! = 문자열이 동일한 두 여부를 확인하는 데 사용할 수 있습니다
2.3 정수 연산자
[] 및 시험 | 에서 [] (()) 및 | 설명 |
-eq | == 또는 = | 동등 철자 같다 |
-nq | ! = | 동일하지 않은 경우, 철자가 동일하지 |
-gt | > | 보다 큰, 맞춤법보다 큰 |
-provide | > = | 보다 크거나 같음, 더욱 동일한 철자 |
-lt | < | 이하, 맞춤법 미만 |
-THE | <= | 이하, 이하 동일 철자 |
2.4 논리 연산자
[] 및 시험 | 에서 [] (()) 및 | 설명 |
-에이 | && | 양쪽에 해당로하고, 결과는 true입니다 |
-o | || | 또는, 또는, 양쪽 끝은 결과가 true 사실이다 |
! | ! | 아니, 비는 양단은, 결과는 true입니다 |
2.5 테스트 발현의 차이 요약
테스트 표현 기호 | 테스트 | [] | [[]] | (()) |
경계 공간이 필요 여부 | 필요가있다 | 필요가있다 | 필요가있다 | 필요가 없습니다 |
논리 연산자 | ! - A, -o | ! - A, -o | !, &&, || | !, &&, || |
정수 비교 연산자 | -eq, -ne, -lt, -gt, -ge, -THE | -eq, -ne, -lt, -gt, -ge, -THE | -eq, -ne, -lt, -gt, -ge, -le 또는 =,! =, <,>,> =, <= |
=,! =, <,>,> =, <= |
문자열 비교 연산자 | =, ==,! = | =, ==,! = | =, ==,! = | =, ==,! = |
와일드 카드를 지원 | 지원하지 않습니다 | 지원하지 않습니다 | 지원 | 지원하지 않습니다 |