PowerShell의 불리언 값

Windows PowerShell 스크립트에서는 종종 참(true)을 기반으로 한 논리를 사용합니다.
하지만 누군가가 특정 기준을 충족하지 않을 때를 알아야 하는 상황이 있을 수 있습니다.
따라서 작성하고 디버깅할 때 PowerShell은 보다 긍정적인 접근 방식을 취합니다. 부정(negation)을 이해하는 것이 중요합니다.
이 문서에서는 기본 명령 및 연산자를 통해 PowerShell에서 부울 값의 사용법을 탐색하고, 스크립트 개발에서의 다재다능함과 중요성을 보여줍니다.
Windows PowerShell에서 부울의 정의
PowerShell에서 무언가가 존재하는지 여부를 결정할 때 우리는 $True
또는 $False
로 표현된 부울 값에 대해 이야기합니다.
아래에 보여지는 기본 구문은 부울 작동 방식을 설명합니다. 부울 유형 값은 True
또는 False
중 하나를 반환하는 출력 형식입니다.
여전히 구문은 두 개 이상 값 비교에 비교 및 조건 연산자를 사용합니다.
예제 코드:
# Using -eq operator
"yes" -eq "yes"
# Using -ne operator
"no" -ne "no"
제공된 코드에서는 -eq
연산자를 사용하여 문자열 "yes"
가 "yes"
와 일치하는지 확인합니다. 두 문자열이 동일하므로 이 비교는 $true
를 생성합니다.
반대로 -ne
연산자를 사용하여 문자열 "no"
가 "no"
와 다른지 여부를 검사합니다. 그러나 두 문자열이 동일하므로 비교는 $false
를 반환합니다.
출력:
부울 표현식을 평가할 때, 값의 왼쪽을 오른쪽 값과 비교합니다. 왼쪽 값이 오른쪽 값과 같으면 True
로 평가되고, 그렇지 않으면 False
로 평가됩니다.
-eq
및 -ne
는 개별 값을 비교하는 데 유용하지만, and
및 or
연산자를 사용하여 더 복잡한 평가를 수행할 수 있습니다.
PowerShell에서 and
및 or
연산자는 여러 조건을 결합하고 함께 평가하는 데 사용됩니다.
예제 코드:
$condition1 = $true
$condition2 = $false
# Using 'and' operator
$result1 = $condition1 -and $condition2
# Using 'or' operator
$result2 = $condition1 -or $condition2
Write-Host "Result of condition1 AND condition2: $result1"
Write-Host "Result of condition1 OR condition2: $result2"
제공된 코드에서는 먼저 $condition1
을 $true
로 설정하고, $condition2
를 $false
로 설정합니다. 그런 다음 and
연산자를 사용하여 이 조건들을 결합합니다.
$condition1
이 true이고 $condition2
가 false이므로 $result1
의 결과는 $false
가 됩니다. 다음으로 or
연산자를 사용하여 동일한 조건들을 결합합니다.
하나 이상의 조건($condition1
)이 true이므로 $result2
의 결과는 $true
가 됩니다.
출력:
부울 값을 출력하는 여러 방법이 있으며, 글의 다음 섹션에서 이를 논의하겠습니다.
비교 연산자 사용하기
여러 조건 연산자를 사용하여 값을 비교하고 부울 결과를 출력할 수 있습니다. 우리의 첫 번째 예입니다.
예제 코드:
10 -eq 10 # equal
10 -gt 20 # greater than
10 -lt 20 # less than
10 -le 11 # less than or equal
10 -ge 8 # greater than or equal
이 스크립트에서는 다양한 비교 연산자를 사용하여 서로 다른 값들 간의 관계를 평가합니다. -eq
연산자는 10
이 10
과 같은지 평가하며, 이는 참으로 $true
를 반환합니다.
하지만 -gt
연산자는 10
이 20
보다 큰지 여부를 조사하며, 이는 거짓이므로 false
를 반환합니다. 마찬가지로 -lt
, -le
, 및 -ge
연산자를 사용하여 10
이 특정 값보다 작은지, 작거나 같은지, 크거나 같은지를 각각 조사하며, 값 간의 통찰력 있는 비교를 제공합니다.
출력:
PowerShell 명령 사용하기
일부 기본 Windows PowerShell 명령은 부울 값을 반환합니다. 그 예로 Test-Path
cmdlet이 있습니다.
Test-Path
cmdlet은 디렉토리 경로가 로컬 컴퓨터에 존재하는지 확인합니다.
예제 코드:
# Check if the directory C:\Windows\temp exists
$exists = Test-Path -Path "C:\Windows\temp"
# Print the result
Write-Host "Directory exists: $exists"
이 스크립트에서는 Test-Path
명령을 사용하여 C:\Windows\temp
디렉토리가 시스템에 존재하는지 확인합니다. Test-Path
명령의 결과는 $exists
변수에 저장되며, 디렉토리가 존재하면 $true
가 되고, 존재하지 않으면 $false
가 됩니다.
출력:
일부 기본 명령은 부울 값을 출력하기 위해 매개변수를 요구합니다. 예를 들어, Test-Connection
명령은 부울 값을 반환하기 위해 -Quiet
매개변수를 사용합니다.
예제 코드:
# Check if we can reach www.google.com with 2 echo request packets and suppress output
$reachable = Test-Connection -ComputerName "www.google.com" -Count 2 -Quiet
# Print the result
Write-Host "Host is reachable: $reachable"
이 스크립트에서는 Test-Connection
명령을 사용하여 www.google.com
에 두 개의 에코 요청 패킷을 보내고 호스트의 접근 가능성을 판단합니다. -Quiet
매개변수를 지정함으로써 최종 결과를 제외한 모든 출력을 억제하여 결과는 $reachable
변수에 저장됩니다.
www.google.com
에 접근 가능하면 $reachable
의 값은 true
가 되고, 그렇지 않으면 false
가 됩니다.
출력:
결론
부울 값은 PowerShell 스크립팅에서 기본적이며, 조건 평가와 프로그램 흐름 제어를 가능하게 합니다. $True
와 $False
는 PowerShell의 기본 부울 표현이지만, 특정 시나리오에서는 외부 시스템이나 API与의 상호작용 시 1
과 0
등과 같은 대안도 사용할 수 있습니다.
-eq
및 -ne
와 같은 비교 연산자의 사용은 값 간의 직접 비교를 용이하게 하여 부울 결과를 반환합니다. 게다가 Test-Path
및 Test-Connection
과 같은 PowerShell 명령은 부울 값의 유용성을 더욱 확장하여 디렉토리의 존재 여부나 호스트의 접근성을 평가하는 방법을 제공합니다.
PowerShell에서 부울 값을 이해하고 효과적으로 활용하는 것은 스크립트 기능과 효율성을 향상시켜, 사용자가 견고하고 신뢰할 수 있는 자동화 솔루션을 만들 수 있도록 합니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn