English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Shell test 명령어

Shell의 test 명령어는 특정 조건이 성립하는지 확인하는 데 사용되며, 수치, 문자 및 파일 측면의 테스트를 수행할 수 있습니다.

数值 테스트

파라미터 설명
-eq 같으면 참
-ne 불일치하면 참
-gt 많다면 참
-ge 많게하면 참
-lt 적다면 참
-le 적게하면 참
num1=100
num2=100
if test $[num1] -eq $[num2]
then
    echo '두 수가 같습니다!'
else
    echo '두 수가 불일치합니다!'
fi

출력 결과:

두 수가 같습니다!

코드에서 []는 기본 수학 연산을 수행합니다. 예를 들어:

#!/bin/bash
a=5
b=6
result=$[a+b] # 주의 등호 양쪽에 공백이 없어야 합니다
echo "result 이: $result"

결과는:

result 이: 11

문자열 테스트

파라미터 설명
= 같으면 참
!== 불일치하면 참
-z 문자열 문자열의 길이가 0이면 참
-n 문자열 문자열의 길이가 0이 아닌면 참
num1="ru1noob"
num2="w3codebox"
if test $num1 = $num2
then
    echo '두 개의 문자열이 같습니다!'
else
    echo '두 개의 문자열이 다릅니다!'
fi

출력 결과:

두 개의 문자열이 다릅니다!

파일 테스트

파라미터 설명
-e 파일 이름 파일이 존재하면 참
-r 파일 이름 파일이 존재하며 읽기 가능하면 참
-w 파일 이름 파일이 존재하며 쓰기 가능하면 참
-x 파일 이름 파일이 존재하며 실행 가능하면 참
-s 파일 이름 파일이 존재하며 최소한 하나의 문자가 있으면 참
-d 파일 이름 파일이 존재하며 디렉토리이면 참
-f 파일 이름 파일이 존재하며 일반 파일이면 참
-c 파일 이름 파일이 존재하며 문자형 특수 파일이면 참
-b 파일 이름 파일이 존재하며 블록 특수 파일이면 참
cd /bin
if test -e ./bash
then
    echo '파일이 존재합니다!'
else
    echo '파일이 존재하지 않습니다!'
fi

출력 결과:

파일이 존재합니다!

또한, Shell은 &&와|| 연산자를 제공합니다: -a )、또는( -o )、비( ! ) 세 가지 논리 연산자는 테스트 조건을 연결하여 사용하며, 우선순위는 ! 가 가장 높습니다: -a 다음, -o 가장 낮은. 예를 들어:

cd /bin
if test -e ./notFile -o -e ./bash
then
    echo '최소한 하나의 파일이 존재합니다!'
else
    echo '두 개의 파일 모두 존재하지 않습니다'
fi

출력 결과:

최소한 하나의 파일이 존재합니다!