if 문에서 여러 조건을 결합하는 방법

  1. PowerShell의 if
  2. PowerShell의 if 문에서 여러 조건을 결합하기 위한 논리 연산자 사용
  3. PowerShell의 if 문에서 여러 조건을 결합하기 위해 여러 연산자 사용하기
  4. PowerShell에서 여러 조건을 결합하기 위해 if 문 중첩하기
  5. 결론
if 문에서 여러 조건을 결합하는 방법

PowerShell에서 if 문은 의사 결정을 위한 강력한 도구입니다. 그러나 많은 작업에서는 더 정밀한 제어를 위해 여러 조건을 결합해야 합니다.

이 기사에서는 PowerShell의 if 문에서 논리 연산자를 사용하여 여러 조건을 결합하는 다양한 방법을 살펴보겠습니다.

PowerShell의 if

다음은 if 문의 간단한 예시입니다. 괄호 안의 조건이 true로 평가되면 Write-Host "2는 2와 같습니다." 명령이 실행됩니다.

코드:

if (2 -eq 2) {
    Write-Host "2 is equal to 2."
}

괄호 () 안의 지정된 조건이 $true로 평가되면 중괄호 {} 안의 명령이 실행됩니다.

출력:

2 is equal to 2.

조건이 $false인 경우 해당 코드 블록을 건너뛰게 됩니다. 위 예시는 하나의 조건을 사용하지만, if 문에서도 여러 조건을 평가할 수 있습니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위한 논리 연산자 사용

논리 연산자는 PowerShell에서 문과 표현식을 연결합니다. 단일 표현식을 사용하여 여러 조건을 테스트할 수 있습니다.

PowerShell에서 지원되는 논리 연산자는 -and, -or, -not, -xor, 그리고 !입니다. 이 기사에서는 if 문에서 여러 조건을 결합하기 위해 -and, -or, -not, -xor 연산자를 사용하는 방법만 논의하겠습니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위해 -and 연산자 사용하기

다음 예시는 if 문에서 두 문장을 연결하기 위해 -and 연산자를 사용합니다. 첫 번째 조건 5는 10보다 작다가 true이고 두 번째 조건 7은 5보다 크다가 true일 경우, Write-Host 명령이 실행됩니다.

코드:

if ((5 -lt 10) -and (7 -gt 5)) {
    Write-Host "The above conditions are true."
}

출력:

The above conditions are true.

이 경우 두 조건이 모두 true이므로 코드 블록이 실행되며, 메시지 "위의 조건이 모두 true입니다."가 출력됩니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위해 -or 연산자 사용하기

이 코드에서는 -lt (보다 작음) 및 -gt (보다 큼) 연산자를 사용하여 5가 10보다 작거나 7이 5보다 큰지를 확인합니다. 그런 다음 -or 연산자를 사용하여 (5 -lt 10) 또는 (7 -gt 5) 중 하나가 true인지 확인합니다.

코드:

if ((5 -lt 10) -or (7 -gt 5)) {
    Write-Host "At least one of the above conditions is true."
}
else {
    Write-Host "Neither of the above conditions is true."
}

출력:

At least one of the above conditions is true.

원래 코드에서 두 조건이 모두 true이므로 "조건 중 적어도 하나가 true입니다."라는 출력이 인쇄됩니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위해 -not 연산자 사용하기

다음 코드에서는 숫자 값을 나타내는 변수 $number가 있습니다. 우리는 -lt (보다 작음) 및 -gt (보다 큼) 연산자를 사용하여 숫자가 5보다 작거나 10보다 큰지를 확인합니다.

-or 연산자는 왼쪽과 오른쪽의 두 조건을 결합하는 데 사용됩니다. 조건 중 적어도 하나가 true이면 true를 반환합니다. 두 조건 모두 false이므로 -or 표현식은 false로 평가됩니다.

-not 연산자는 -or 표현식의 결과에 적용됩니다. -or 표현식이 false이기 때문에 그 결과를 부정하면 true가 됩니다.

코드:

$number = 7

if (-not ($number -lt 5 -or $number -gt 10)) {
    Write-Host "The number is between 5 and 10 (inclusive)."
}
else {
    Write-Host "The number is outside the range of 5 to 10."
}

출력:

The number is between 5 and 10 (inclusive).

-not 연산자가 결합된 조건을 true로 만들기 때문에 if 블록 안의 코드가 실행됩니다. 출력은 $number = 7 값이 5에서 10(포함) 사이의 지정된 범위에 해당함을 나타냅니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위해 -xor 연산자 사용하기

다음 코드는 두 조건을 확인하고 -xor 연산자를 사용하여 결합된 진리 값을 결정합니다. if 문 안에는 두 조건이 있습니다: 첫 번째 조건은 5가 10보다 작은지이고, 두 번째 조건은 7이 5보다 큰지입니다.

-xor 연산자는 배타적 OR 연산자로, 정확히 하나의 피연산자가 true일 때 true를 반환하고, 두 피연산자가 모두 true이거나 모두 false이면 false를 반환합니다.

이 경우 두 조건이 모두 true이므로 -xor 표현식은 false로 평가되고, else 블록 안의 코드가 실행됩니다.

코드:

if ((5 -lt 10) -xor (7 -gt 5)) {
    Write-Host "Exactly one of the above conditions is true."
}
else {
    Write-Host "Neither or both of the above conditions are true."
}

출력:

Neither or both of the above conditions are true.

출력은 "위의 조건 중 어느 것도 또는 둘 다 true입니다."를 출력합니다. 이는 조건 중 어느 것도 독점적으로 true가 아님을 나타냅니다; 두 조건은 함께 true이거나 false입니다.

PowerShell의 if 문에서 여러 조건을 결합하기 위해 여러 연산자 사용하기

유사하게, PowerShell의 if 문에서 논리 연산자를 사용하여 여러 조건을 결합할 수 있습니다. 이 예에서는 결합된 조건이 true인지 false인지에 따라 다른 명령을 실행합니다.

아래 코드는 논리 연산자 -and-or를 사용하여 여러 조건을 결합합니다. 이러한 조건 중 하나라도 true이면 첫 번째 명령(Write-Host "그것은 true입니다.")이 실행되고, 그렇지 않으면 두 번째 명령(Write-Host "그것은 false입니다.")이 실행됩니다.

코드:

if (((10 -lt 20) -and (10 -eq 10)) -or ((15 -gt 5) -and (12 -lt 6))) {
    Write-Host "It is true."
}
else {
    Write-Host "It is false."
}

출력:

It is true.

여기서 if 문은 결합된 조건을 확인하고 조건 평가를 기반으로 적절한 명령 블록을 실행합니다. 조건이 true이므로 "그것은 true입니다."라는 메시지가 인쇄되었습니다.

각 조건 세트를 괄호 ()로 묶고 특정 요구 사항에 맞는 논리 연산자를 사용하는 것을 기억하세요.

PowerShell에서 여러 조건을 결합하기 위해 if 문 중첩하기

중첩된 if 문은 복잡한 조건이 필요할 때 유용할 수 있습니다. 특정 맥락 내에서 조건을 확인하거나 다양한 조건을 기반으로 다른 작업을 수행해야 할 때, 중첩된 if 문은 더 구조적인 접근 방식을 허용합니다.

이 코드에서 우리는 변수 $number = 15를 선언합니다. 그런 다음 $number가 10보다 크거나 같은 지를 확인하는 외부 if 문을 생성합니다.

외부 조건이 true이면, 중첩된 if 문이 $number가 20보다 작거나 같은지를 확인합니다.

코드:

$number = 15

if ($number -ge 10) {
    if ($number -le 20) {
        Write-Host "The number is between 10 and 20."
    }
}

출력:

The number is between 10 and 20.

이 코드에서 외부 if 문은 $number10보다 크거나 같다고 확인합니다. 이 조건이 충족되면, 중첩된 if 문으로 진행되어 $number20보다 작거나 같다고 확인합니다.

두 조건이 모두 true일 때만 Write-Host 명령이 실행됩니다. 출력에서 두 조건이 모두 충족되어 "숫자가 10과 20 사이입니다."라는 메시지가 인쇄됩니다.

결론

결론적으로, PowerShell의 if 문에서 여러 조건을 결합하는 것은 효율적인 스크립트를 만들기 위해 필수적입니다. 논리 연산자 -and, -or, -not, -xor를 사용하면 다양한 스크립팅 과제를 해결하기 위한 복잡한 조건 논리를 생성할 수 있습니다.

단순한 조건이든 중첩된 if 문이든, PowerShell은 정보에 입각한 결정을 내리고 스크립트에서 올바른 작업을 실행하는 데 도움이 되는 강력한 도구를 제공합니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - PowerShell Statement