초보자 가이드 BASH - 것들을 비교

01 of 08

초보자 가이드 BASH - 것들을 비교

BASH 튜토리얼 - 문자열 비교하기.

이전 BASH 튜토리얼에서는 조건문 을 살펴 보았습니다.

이 가이드는 매우 길지만 실제로 로직 흐름을 제어하는 ​​방법을 보여 줬습니다. 이 안내서는 변수를 비교할 수있는 여러 가지 방법을 보여줍니다.

위 이미지는 이번 주 가이드의 첫 번째 예를 보여줍니다.

#! / bin / bash

name1 = "게리"
name2 = "밥"

if [ "$ name1"= "$ name2"]
그때
에코 "이름 일치"
그밖에
에코 "이름이 일치하지 않습니다"
fi


위의 스크립트에서 name1과 name2라는 두 개의 변수를 정의하고 "gary"와 "bob"값을 할당했습니다. 변수는 따옴표 사이에 포함되어 있으므로 자습서가 진행될 때보다 관련성이 높은 문자열 변수라고합니다.

모든 스크립트는 $ name1과 $ name2의 값을 비교하고 출력이 "이름 일치"문자열과 일치하는지 여부와 "이름이 일치하지 않는"문자열을 출력하지 않으면 일치시킵니다.

$ name1과 $ name2 변수 둘 중 하나의 값이 설정되어 있지 않으면 스크립트가 여전히 작동하기 때문에 $ name1 및 $ name2 변수 주위의 인용 부호는 중요합니다.

예를 들어 $ name1이 설정되지 않았다면 ""과 "bob"을 비교할 것입니다. 따옴표가 없으면 분명히 실패한 = "밥"으로 남을 것입니다.

! = 표기법을 사용하여 다음과 같지 않음을 정의 할 수도 있습니다.

if [ "$ name1"! = "$ name2"]

02 of 02

초보자 가이드 BASH - 문자열 비교

BASH 튜토리얼 - 문자열 비교하기.

위의 예제에서 테스트는 동일한 두 문자열을 비교하여 질문이 게리가 알파벳 앞에 밥보다 먼저 나오는지 묻습니다.

분명 대답은 아니오입니다.

스크립트는보다 작음 연산자 (<)를 도입합니다. 작음 연산자가 리디렉션에도 사용되므로 위의 스크립트에서 왜 "$ name1"\ < "$ name2"인지 비교하기 위해 슬래시 (\)를 사용하여 이스케이프 처리해야합니다.

보다 적은 것의 반대는 분명히보다 큽니다. \ <사용 \>을 사용하는 대신.

예를 들어

if [ "$ name1"\> "$ name2"]

03 / 08

초보자 가이드 BASH - 문자열 비교

BASH 튜토리얼 - 문자열 비교하기.

변수에 값이 있는지 여부를 테스트하려면 다음 테스트를 사용할 수 있습니다.

if [-n $ name2]

위의 스크립트에서 필자는 $ name2에 값이 주어 졌는지 테스트하고 "does not bob"이라는 메시지가 나타나지 않으면 Bob이 나타나지 않는다고 테스트했습니다.

04 of 08

초보자 가이드 BASH - 문자열 비교

BASH 튜토리얼 - 문자열 비교하기.

과거 슬라이드에서 우리는 변수가 설정되었는지 여부를 다루었습니다. 때로는 변수가 설정되었지만 실제로는 값이 없을 수도 있습니다.

예를 들면 :

name1 = ""

변수에 값이 있는지 (즉 길이가 0인지) 테스트하려면 다음과 같이 -z를 사용하십시오.

if [-z $ name1]

위 스크립트에서 $ name1을 길이가 0 인 문자열로 설정 한 다음 -z를 사용하여 비교했습니다. $ name1의 길이가 0이면 메시지 "게리가 저녁 동안 나갔다."가 표시됩니다.

08 년 5 월

초보자 가이드 BASH - 숫자 비교

BASH 튜토리얼 - 숫자 비교하기.

지금까지 문자열에 대한 모든 비교가있었습니다. 숫자를 비교하는 것은 어떨까요?

위의 스크립트는 두 숫자를 비교하는 예를 보여줍니다.

#! / bin / bash

a = 4
b = 5

if [$ a = $ b]
그때
에코 "4 = 5"
그밖에
에코 "4는 5와 같지 않습니다"
fi

변수를 숫자로 설정하려면 인용 부호없이 간단히 설정하십시오. 그런 다음 숫자를 등호와 비교할 수 있습니다.

그러나 다음 연산자를 사용하여 두 숫자를 비교하는 것을 더 선호합니다.

[$ a -eq $ b]

06 of 06

초보자 가이드 BASH - 숫자 비교

BASH 튜토리얼 - 숫자 비교하기.

숫자가 다른 숫자보다 작은 지 비교하려면보다 작음 연산자 (<)를 사용할 수 있습니다. 문자열과 마찬가지로 슬래시를 사용하여보다 작음 연산자를 이스케이프 처리해야합니다. (\ <).

숫자를 비교하는 더 좋은 방법은 대신 다음 표기법을 사용하는 것입니다.

예 :

if [$ a -lt $ b]

if [$ a -le $ b]

if [$ a -ge $ b]

if [$ a -gt $ b]

07/08

초보자 가이드 BASH - 숫자 비교

BASH 튜토리얼 - 숫자 비교하기.

마지막으로이 가이드에서 두 숫자가 다른지 여부를 테스트하려면 다음과 같이보다 작거나 같음 연산자 (<>) 또는 -ne을 사용할 수 있습니다.

if [$ a <> $ b]

if [$ a -ne $ b]

08 08

초보자 가이드 BASH - 비교 연산자 - 요약

이 가이드의 처음 세 부분을 놓친 경우 다음 링크를 클릭하여 찾을 수 있습니다.

이 가이드의 다음 부분에서는 산술을 다루겠습니다.