셸 비교 및 테스트
비교 기호
속뜻
-eq
... 과 같다
-ne
같 지 않다
-gt
보다 크다
-lt
보다 작 음 (less)
-ge
... 보다 크다
-le
이하
논리 연산 자
속뜻
-a
논리 와
-o
논리
파일 형식 테스트 문자
속뜻
-f
주어진 변수 가 정상 적 인 파일 경로 나 파일 이름 을 포함 하고 있다 면 진짜 로 돌아 갑 니 다.
-x
주어진 변수 에 포 함 된 파일 을 실행 할 수 있다 면 진짜 로 돌아 갑 니 다.
-d
주어진 변수 가 디 렉 터 리 를 포함 하고 있다 면 진짜 로 돌아 갑 니 다.
-e
주어진 변수 에 포 함 된 파일 이 존재 하면 진짜 로 돌아 갑 니 다.
-c
주어진 변수 가 문자 장치 파일 의 경 로 를 포함 하고 있다 면 진짜 로 돌아 갑 니 다.
-b
주어진 변수 가 블록 장치 파일 의 경 로 를 포함 하고 있다 면 진짜 로 돌아 갑 니 다.
-w
주어진 변수 에 포 함 된 파일 을 쓸 수 있다 면 진짜 로 돌아 갑 니 다.
-r
주어진 변수 에 포 함 된 파일 을 읽 을 수 있다 면 진짜 로 돌아 갑 니 다.
-L
주어진 변수 가 심 볼 릭 링크 를 포함 하고 있다 면 진짜 로 돌아 갑 니 다.
1.1 산수 비교
1.2 문자열 비교
문자열 을 비교 할 때 이중 괄호 를 사용 하 는 것 이 좋 습 니 다. 단일 괄호 를 사용 하면 오류 가 발생 할 수 있 기 때 문 입 니 다.
이중 괄호 는 Bash 의 확장 기능 입 니 다.성능 을 고려 하여 ash 나 dash 를 사용 하여 스 크 립 트 를 실행 하면 이 기능 을 사용 할 수 없습니다.
1.2.1 두 문자열 이 같은 지 비교 하기
『 8195 』 str1 이 str2 와 같 을 때 진짜 로 돌아간다.즉, str 1 과 str 2 에 포 함 된 텍스트 는 똑같다.
[[ $str1 = $str2 ]]
[[ $str1 = $str2 ]]
1.2.2 두 문자열 이 다른 지 비교 하기
str1 과 str2 가 다 르 면 진짜 로 돌아간다
[[ $str1 != $str2 ]]
1.2.3 알파벳 뒤에 있 는 문자열 찾기
문자열 은 문자 의 ASCII 값 에 따라 비교 합 니 다.예 를 들 어 A 의 값 은 0x 41 이 고 a 의 값 은 0x 61 이다.따라서 A 는 a 보다 작고 AAa 는 Aaa 보다 작다.
비교 명령
속뜻
[[ str2 ]]
str 1 의 알파벳 순서 가 str 2 보다 크 면 진짜 로 돌아 갑 니 다.
[[ str2 ]]
str 1 의 알파벳 순서 가 str 2 보다 작 으 면 진짜 로 돌아 갑 니 다.
1.2.4 테스트 빈 문자열
비교 명령
속뜻
[[ -z $str1 ]]
str1 이 빈 문자열 이면 진짜 로 돌아 갑 니 다.
[[ -n $str1 ]]
str1 이 빈 문자열 이 아니라면 진짜 로 돌아 갑 니 다.
2 시험 문
if [[ -n $str1 ]] && [[ -z $str2 ]] ;
then
commands;
fi
str1="Not empty "
str2=""
if [[ -n $str1 ]] && [[ -z $str2 ]];
then
echo str1 is nonempty and str2 is empty string.
fi
if [ $var -eq 0 ]; then echo "True"; fi
if test $var -eq 0 ; then echo "True"; fi
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.