Powershell 의 논리 연산자, 비교 연산자는 보편적으로 많이 사용 되는 특수문자 (> , <, =, &, …) 들을 사용하지 않고 -[keyword] 형태로 사용 된다.
들어가기 전에 Powershell 에서 bool 값은 $true, $false 로 표현 할 수 있음을 숙지 하자
논리 연산자
bool 타입을 연산하여 bool 값을 반환함
-and : 논리곱
$true -and $true # True $true -and $false # False $false -and $true # False $false -and $false # False
-or : 논리합
$true -or $true # True $true -or $false # True $false -or $true # True $false -or $false # False
-xor : 베타적 논리합
$true -xor $true # False $true -xor $false # True $false -xor $true # True $false -xor $false # False
-not, ! : 반대
-not $true # False -not $false # True ! $true # False ! $false # True
비트 논리 연산자
입력 값을 비트 단위로 연산한다.
논리 연산자 앞에 ‘b’를 붙혀 비트 논리 연산자로 사용 한다. (-band, -bor, -bxor, -bnot)
0xFF -band 0x0A # 0x0A (10) 0x0F -bor 0xF0 # 0xFF (255) 0xFF -bxor 0xF0 # 0x0F (15) -bnot 0 # -1
비교 연산자
두 값을 비교 한다. 앞에 ‘c’가 붙는 명령어 들은 대소문자를 구분 한다.
-eq : 같다 (equal) 대소문자 구분하지 않음
-ceq : 같다 대소문자 구분
"ABC" -eq "abc" # True "ABC" -eq "ABC" # True "ABC" -ceq "abc" # False "ABC" -ceq "ABC" # True
-ne : 같지 않다 (not equal). 대소문자 구분하지 않음
-cne : 같지 않다. 대소문자 구분
"ABC" -ne "abc" # False "ABC" -ne "ABC" # False "ABC" -cne "abc" # True "ABC" -cne "ABC" # False
-lt , -clt : 보다 작다 (less than)
"A" -lt "B" # True 100 -lt 50 # False
-gt , -cgt : 보다 크다 (greater than)
"A" -gt "B" # False 100 -gt 50 # True
-le , -cle : 보다 작거나 같다 (less than or equal to)
100 -le 50 # False 25 -le 25 # True
-ge, -cge : 보다 크거나 같다. (greater than or equal to)
100 -ge 50 # True 25 -ge 25 # True