programing

PowerShell에서 변수가 8자 이상인지 테스트하려면 어떻게 해야 합니까?

topblog 2023. 8. 31. 23:32
반응형

PowerShell에서 변수가 8자 이상인지 테스트하려면 어떻게 해야 합니까?

$dbUserName의 문자 수가 8자를 초과하는지 테스트하는 방법은 무엇입니까?

이 작업을 수행할 명령을 찾을 수 없습니다.변수가 null인 경우에만 찾을 수 있습니다.

if ($dbUserName) {
    Write-Output " You left Username blank"
    $dbUserName = read-host
}

하지만 다음 테스트는 다음과 같습니다.

if ($dbUserName [String] > 8 ) }
    Write-Output " Please enter more than 8 characters "
    $dbUserName=read-host " Re-enter database user name"
}

사용length의 재산.[String]유형:

if ($dbUserName.length -gt 8) {
    Write-Output "Please enter more than 8 characters."
    $dbUserName = Read-Host "Re-enter database username"
}

다음을 사용해야 합니다.-gt대신에>당신의if조건.PowerShell은 다음 비교 연산자를 사용하여 값과 테스트 조건을 비교합니다.

  • -eq같음(==)
  • -ne같지 않음(!=)
  • -lt(보다 작은)<)
  • -gt(보다 큼)>)
  • -le이하(<=)
  • -ge보다 크거나 같음(>=)

정규식에 대해 -match를 사용할 수도 있습니다.예:

if ($dbUserName -match ".{8}" )
{
    Write-Output " Please enter more than 8 characters "
    $dbUserName=read-host " Re-enter database user name"
}

또한 저와 마찬가지로 코드 블록에 대해 같은 수평 위치에 있는 곱슬곱슬한 교정기를 좋아한다면 코드 블록이 예상되므로 새 줄에 표시할 수 있습니다.첫 번째 곱슬곱슬한 대괄호가 명령과 일치해야 하는 일부 명령에서는 중대한 액센트 마커(')를 사용하여 파워셸에 다음 줄을 연속으로 처리하도록 지시할 수 있습니다.

윈도우즈 PowerShell v7에서 작동합니다.

다음과 같이 3진 연산자 ?를 사용할 수도 있습니다.

PSC:>("Kipro".Length -gt 8) ? "True" : "False"

출력: 거짓

PSC:>("Hello, how are you doing?".Length -gt 8) ? "True" : "False"

출력: 참

물론 다음과 같이 문자열을 보유한 변수의 상태를 확인할 수 있습니다.

PSC:> $str1="포트-테르난"

PSC:>($str1.Length -gt 8) ? "True" : "False"

출력: 참

언급URL : https://stackoverflow.com/questions/16262403/how-can-i-test-that-a-variable-is-more-than-eight-characters-in-powershell

반응형