Bash에서 문자열을 비교하는 방법

How Compare Strings Bash



다른 프로그래밍 목적을 위해 두 문자열의 값을 비교해야 합니다. 내장 함수는 많은 프로그래밍 언어에서 두 문자열의 동등성을 테스트하는 데 사용됩니다. 다음을 사용하여 bash에서 두 문자열의 동등성과 불평등을 확인할 수 있습니다. 만약 성명. == 평등을 확인하는 데 사용되며 ! = 문자열의 부등식을 확인하는 데 사용됩니다. bash에서도 두 문자열의 값을 부분적으로 비교할 수 있습니다. 이 튜토리얼의 다양한 예제를 사용하여 bash에서 문자열 값을 비교하는 방법을 보여줍니다.

예-1: == 연산자를 사용한 문자열 비교

다른 표준 프로그래밍 언어처럼 bash에서 두 문자열 값이 같은지 확인하는 내장 비교 기능이 없습니다. 다음 스크립트에서 두 개의 문자열 변수, strval1 그리고 strval2 선언됩니다. 이 두 문자열 변수의 형평성은 첫 번째를 사용하여 테스트됩니다. 만약 스크립트의 진술. 의 가치 strval1 두 번째에서 같음을 확인하기 위해 문자열 값과 비교됩니다. 만약 성명.







#!/bin/bash

strval1='우분투'
strval2='윈도우'

# 두 문자열 변수가 같은지 확인

만약 [ $ strval1==$strval2 ];그 다음에
던졌다 '문자열은 동일합니다'
또 다른
던졌다 '문자열이 같지 않습니다'
~이다

# 문자열 값이 있는 변수의 동등성 확인

만약 [ $ strval1=='우분투' ];그 다음에
던졌다 '리눅스 운영 체제'
또 다른
던졌다 '윈도우 운영체제'
~이다

산출:

첫 번째 비교는 같지 않고 두 번째 비교는 동일합니다.

예-2: != 연산자를 사용한 문자열 비교

다음 예제에서는 두 문자열 변수의 부등식을 확인합니다. 여기서 두 값은 같지 않습니다. 따라서 조건이 참이고 Windows 운영 체제 인쇄됩니다.

#!/bin/bash

strval1='우분투'
strval2='윈도우'

# 문자열 값으로 변수의 부등식 검사

만약 [ $strval2 !='우분투' ];그 다음에
던졌다 '윈도우 운영체제'
또 다른
던졌다 '리눅스 운영 체제'
~이다

산출:

예-3: 부분 문자열 비교

bash 스크립트에서 와일드카드 문자를 사용하여 부분 값을 비교할 수 있습니다. 다음 스크립트에서 * 부분 일치를 위한 와일드카드 문자로 사용됩니다. 문자열 변수, strval 단어를 포함 인터넷. 그래서, 첫 번째 만약 스크립트는 true를 반환하고 인쇄합니다. 부분적으로 일치 . Bash는 대소문자를 구분합니다. 이를 위해 두 번째 만약 문자 비교로 같지 않은 부분 문자열로 인터넷을 사용하는 경우 스크립트에서 false를 반환합니다.

#!/bin/bash

strval='마이크로소프트 인터넷 익스플로러'

만약 [[ $ strval==*인터넷* ]];
그 다음에
던졌다 '일부 일치'
또 다른
던졌다 '일치하지 않음'
~이다

만약 [[ $ strval==*인터넷* ]];
그 다음에
던졌다 '일부 일치'
또 다른
던졌다 '일치하지 않음'
~이다

산출:

예-4: 문자열과 사용자 입력 값 비교

때로는 프로그래밍 목적으로 사용자가 취한 문자열 값을 특정 문자열 값과 비교할 필요가 있습니다. 다음 예에서는 문자열 데이터를 사용자로부터 입력으로 가져와 데이터의 부등식을 고정 값과 비교합니다. 조건이 true이면 인쇄됩니다. 기록을 찾을 수 없습니다 , 그렇지 않으면 인쇄됩니다. 레코드 발견 .

#!/bin/bash

던졌다 '당신의 이름을 입력'
읽다입력

만약 [ $입력 !='파미다' ];
그 다음에
던졌다 '기록을 찾을 수 없습니다'
또 다른
던졌다 '기록 발견'
~이다

산출:

이 수업의 비디오는 다음과 같습니다.

bash의 문자열 비교 작업은 위의 예를 명확하게 이해하고 완료하면 더 쉬울 것입니다.