2010. 10. 26. 17:28

파워쉘에서 NULL 비교는 파라미터 타입을 지정해 주지 않았을경우에는 정상적으로 동작한다.
그러나 파라미터값을 [string]으로 지정해 줬을 경우에는 비교에 문제가 있을 수 있다

function checkNull([string]$a, $b)

{

    if ($a -eq $null) { Write-Host "a is null" } else { write-Host "a is not null" }

    if ($a -eq [String]::Empty) { Write-Host "a is null" } else { write-Host "a is not null" }

    if (!$a) { Write-Host "a is null" } else { write-Host "a is not null" }

    if ($b -eq $null) { Write-Host "b is null" } else { Write-Host "b is not null" }

}



위의 함수의 결과값은 아래와 같다.

Space>checkNull $null $null
a is not null
a is null
a is null
b is null

결론적으로 string으로 지정된 파라미터를 NULL과 비교할때는 ($a -eq $null) 과 같은 표현은 쓰지 않는 것이 좋다.


원본: http://vstarmanv.tistory.com/entry/PowerShell-에서-NULL-처리
Posted by 알 수 없는 사용자
:
BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :