테스트 명령은 Linux 명령 행에서 다른 요소와 비교하기 위해 사용할 수 있지만 논리 및 프로그램 흐름을 제어하는 조건문의 일부로 BASH 쉘 스크립트에서보다 일반적으로 사용됩니다.
기본 예제
터미널 창을 열어 이러한 명령을 간단하게 시도 할 수 있습니다.
테스트 1 -eq 2 && echo "예"|| 에코 "아니오"
위의 명령은 다음과 같이 세분화 할 수 있습니다. 본질적으로 명령은 1과 2를 비교하고 일치하는 경우 "예"를 표시하는 에코 "예"문이 실행되고 일치하지 않으면 "아니오"를 표시하는 에코 "아니오"문이 실행됩니다. 숫자로 구문 분석하는 요소를 비교하는 경우 다음 비교 연산자를 사용할 수 있습니다. 예제들 테스트 1 -eq 2 && echo "예"|| 에코 "아니오"
(1이 2가 아니기 때문에 화면에 "no"가 표시됨) 테스트 1 -ge 2 && echo "예"|| 에코 "아니오"
(1이 2보다 크거나 같지 않으므로 화면에 "no"가 표시됨) test 1 -gt 2 && echo "예"|| 에코 "아니오"
(1이 2보다 커서 화면에 "아니오"표시) 테스트 1 -le 2 && echo "예"|| 에코 "아니오"
(1이 2보다 작거나 같기 때문에 화면에 "예"표시) 테스트 1 -lt 2 && echo "예"|| 에코 "아니오"
(1이 2보다 작거나 같기 때문에 화면에 "예"표시) 테스트 1 - 2 && echo "예"|| 에코 "아니오"
(1이 2가 아니기 때문에 화면에 "예"표시) 문자열로 구문 분석하는 요소를 비교하는 경우 다음 비교 연산자를 사용할 수 있습니다. 예제들 test "string1"= "string2"&& echo "예"|| 에코 "아니오"
( "string1"은 "string2"와 같지 않으므로 화면에 "no"가 표시됩니다) test "string1"! = "string2"&& echo "yes"|| 에코 "아니오"
( "string1"은 "string2"와 같지 않으므로 "yes"가 화면에 표시됩니다) test -n "string1"&& echo "yes"|| 에코 "아니오"
"string1"의 문자열 길이가 0보다 크기 때문에 화면에 "예"라고 표시됩니다. test -z "string1"&& echo "예"|| 에코 "아니오"
( "string1"의 문자열 길이가 0보다 크기 때문에 화면에 "no"가 표시됩니다) 파일을 비교하는 경우 다음 비교 연산자를 사용할 수 있습니다. 예제들 test / path / to / file1 -nt / path / to / file2 && echo "예"
(file1이 file2보다 새로운 경우 "yes"라는 단어가 표시됩니다) test -e / path / to / file1 && echo "예"
(file1이 있으면 "예"라는 단어가 표시됩니다) test -O / path / to / file1 && echo "yes"
(file1을 소유하고 있다면 "예"라는 단어가 표시됩니다 ") 술어 지금까지 모든 것이 한 가지를 다른 것으로 비교해 왔지만 두 가지 조건을 비교하려면 어떻게해야합니까? 예를 들어, 동물이 4 개의 다리가 있고 "음매"가되면 그것은 아마도 암소 일 것입니다. 단순히 4 개의 다리를 검사했다고해서 암소가 있다고 보장 할 수는 없지만 소리를 확인하는 것은 분명히합니다. 한 번에 두 조건을 테스트하려면 다음 문을 사용하십시오. 테스트 4 -eq 4 -a "moo"= "moo"&& echo "암소"|| 에코 "그것은 암소가 아니다"
여기에서 핵심 부분은 -a가 의미하는 -a입니다. 과 . 동일한 테스트를 수행하는 데 더 일반적으로 사용되는 방법이 더 많으며 그 방법은 다음과 같습니다. test 4 -eq 4 && test "moo"= "moo"&& echo "그것은 암소"|| 에코 "그것은 암소가 아니다"
또 다른 테스트는 두 개의 명령문을 비교하는 것이고, 어느 것이 든 사실이라면 문자열을 출력하는 것입니다. 예를 들어 "file1.txt"라는 파일이 있는지 또는 "file1.doc"라는 파일이 있는지 확인하려는 경우 다음 명령을 사용할 수 있습니다. 테스트 -e file1.txt -o -e file1.doc && echo "file1 exists"|| echo "file1 does not exist"
여기서 중요한 부분은 -o를 의미합니다. 또는 . 동일한 테스트를 수행하는 데 더 일반적으로 사용되는 방법이 더 많으며 그 방법은 다음과 같습니다. 테스트 -e file1.txt || test -e file1.doc && echo "file1 exists"|| echo "file1 does not exist" 비교를 수행하기 위해 실제로 test라는 단어를 사용할 필요는 없습니다. 다음과 같이 명령문을 대괄호로 묶으십시오. -e file1.txt && echo "file1 exists"|| echo "file1 does not exist"
및은 기본적으로 테스트와 동일한 의미입니다. 이제 다음과 같이 여러 조건을 비교해 볼 수 있습니다. 4 -eq 4 && "moo"= "moo" && echo "암소입니다"|| 에코 "그것은 암소가 아니다"-e file1.txt || -e file1.doc && echo "file1 exists"|| echo "file1 does not exist" 한 변수의 값을 다른 것으로 테스트하고 프로그램 흐름을 제어 할 수 있기 때문에 테스트 명령은 스크립트에서 더 유용합니다. 표준 명령 행에서이 명령을 사용하여 파일이 존재하는지 여부를 테스트 할 수 있습니다.
숫자 비교
텍스트 비교
파일 비교
여러 조건 비교
테스트 키워드 제거
개요