programing tip

Powershell 및 조건부 연산자

itbloger 2020. 12. 30. 07:42
반응형

Powershell 및 조건부 연산자


MSDN의 문서를 이해하지 못하거나 문서가 올바르지 않습니다.

if($user_sam -ne "" -and $user_case -ne "")
{
    write-host "Waaay! Both vars have values!"
}
else
{
    write-host "One or both of the vars are empty!"
}

내가 출력하려는 ​​것을 이해하기를 바랍니다. 첫 번째 명령문에 액세스하기 위해 $ user_sam 및 $ user_case를 채우고 싶습니다!


당신은 그것을 단순화 할 수 있습니다

if ($user_sam -and $user_case) {
  ...
}

빈 문자열이 강요되기 때문 입니다 (그 문제에 대해서도 $false마찬가지 $null입니다).


다른 옵션 :

if( ![string]::IsNullOrEmpty($user_sam) -and ![string]::IsNullOrEmpty($user_case) )
{
   ...
}

다음과 같이 시도하십시오.

if($user_sam -ne $NULL -and $user_case -ne $NULL)

빈 변수는 $null""와 다릅니다.([string]::empty).


당신이 보여준 코드는 당신이 원하는 것을 할 입니다. IFF 속성이 채워지지 않은 경우 ""와 동일합니다. 예를 들어 채워지지 않은 경우 $ null과 같으면 ""와 같지 않습니다. 다음은 ""에 대해 작동하는 점을 증명하는 예입니다.

$foo = 1
$bar = 1
$foo -eq 1 -and $bar -eq 1
True
$foo -eq 1 -and $bar -eq 2
False

참조 URL : https://stackoverflow.com/questions/9871867/powershell-and-conditional-operator

반응형