초보자 가이드 BASH - 것들을 비교
이전 BASH 튜토리얼에서는 조건문을 살펴 보았습니다.
이 가이드는 매우 길지만 실제로 로직 흐름을 제어하는 방법을 보여 줬습니다. 이 안내서는 변수를 비교할 수있는 여러 가지 방법을 보여줍니다.
위 이미지는 이번 주 가이드의 첫 번째 예를 보여줍니다.
#! / bin / bashname1 = "게리"name2 = "밥"if "$ name1"= "$ name2"그때 에코 "이름 일치"그밖에 에코 "이름이 일치하지 않습니다"fi위의 스크립트에서 name1과 name2라는 두 개의 변수를 정의하고 "gary"와 "bob"값을 할당했습니다. 변수는 따옴표 사이에 포함되어 있으므로 자습서가 진행될 때보다 관련성이 높은 문자열 변수라고합니다. 모든 스크립트는 $ name1과 $ name2의 값을 비교하고 출력이 "이름 일치"문자열과 일치하는지 여부와 "이름이 일치하지 않는"문자열을 출력하지 않으면 일치시킵니다. $ name1과 $ name2 변수 둘 중 하나의 값이 설정되어 있지 않으면 스크립트가 여전히 작동하기 때문에 $ name1 및 $ name2 변수 주위의 인용 부호는 중요합니다. 예를 들어 $ name1이 설정되지 않았다면 ""과 "bob"을 비교할 것입니다. 따옴표가 없으면 분명히 실패한 = "밥"으로 남을 것입니다. ! = 표기법을 사용하여 다음과 같지 않음을 정의 할 수도 있습니다. 위의 예제에서 테스트는 동일한 두 문자열을 비교하여 질문이 게리가 알파벳 앞에 밥보다 먼저 나오는지 묻습니다. 분명 대답은 아니오입니다. 스크립트는보다 작음 연산자 (<)를 도입합니다. 작음 연산자가 리디렉션에도 사용되므로 위의 스크립트에서 왜 "$ name1" < "$ name2"인지 비교하기 위해 슬래시 ()를 사용하여 이스케이프 처리해야합니다. 보다 적은 것의 반대는 분명히보다 큽니다. <사용 >을 사용하는 대신. 예를 들어 변수에 값이 있는지 여부를 테스트하려면 다음 테스트를 사용할 수 있습니다. 위의 스크립트에서 필자는 $ name2에 값이 주어 졌는지 테스트하고 "does not bob"이라는 메시지가 나타나지 않으면 Bob이 나타나지 않는다고 테스트했습니다. 과거 슬라이드에서 우리는 변수가 설정되었는지 여부를 다루었습니다. 때로는 변수가 설정되었지만 실제로는 값이 없을 수도 있습니다. 예를 들면 : 변수에 값이 있는지 (즉 길이가 0인지) 테스트하려면 다음과 같이 -z를 사용하십시오. 위 스크립트에서 $ name1을 길이가 0 인 문자열로 설정 한 다음 -z를 사용하여 비교했습니다. $ name1의 길이가 0이면 메시지 "게리가 저녁 동안 나갔다."가 표시됩니다. 지금까지 문자열에 대한 모든 비교가있었습니다. 숫자를 비교하는 것은 어떨까요? 위의 스크립트는 두 숫자를 비교하는 예를 보여줍니다. 변수를 숫자로 설정하려면 인용 부호없이 간단히 설정하십시오. 그런 다음 숫자를 등호와 비교할 수 있습니다. 그러나 다음 연산자를 사용하여 두 숫자를 비교하는 것을 더 선호합니다. 숫자가 다른 숫자보다 작은 지 비교하려면보다 작음 연산자 (<)를 사용할 수 있습니다. 문자열과 마찬가지로 슬래시를 사용하여보다 작음 연산자를 이스케이프 처리해야합니다. ( <). 숫자를 비교하는 더 좋은 방법은 대신 다음 표기법을 사용하는 것입니다. 예 : 마지막으로이 가이드에서 두 숫자가 다른지 여부를 테스트하려면 다음과 같이보다 작거나 같음 연산자 (<>) 또는 -ne을 사용할 수 있습니다. 이 가이드의 처음 세 부분을 놓친 경우 다음 링크를 클릭하여 찾을 수 있습니다. 이 가이드의 다음 부분에서는 산술을 다루겠습니다. 초보자 가이드 BASH - 문자열 비교
초보자 가이드 BASH - 문자열 비교
초보자 가이드 BASH - 문자열 비교
초보자 가이드 BASH - 숫자 비교
초보자 가이드 BASH - 숫자 비교
초보자 가이드 BASH - 숫자 비교
초보자 가이드 BASH - 비교 연산자 - 요약