- 06/09/2017
- 3 분 읽
-
- x
간단한 설명
에 대해 설명합 언어 명령을 실행하는 데 사용할 수 있는 문를 기반으로 목록을 담당 결과는 하나 이상의 조건적 테스트합니다.
LONG DESCRIPTION
지정된 conditionaltest 가 true 로 평가되면If
문을 사용하여 코드 블록을 실행할 수 있습니다., 또한 하나 이상의 additionalconditional 테스트를 지정하여 이전의 모든 테스트가 false 로 평가되는 경우 실행할 수 있습니다. 마지막으로 다른 선행 테스트가 true 로 평가되지 않으면 실행되는 추가 코드 블록을 지정할 수 있습니다.
Syntax
다음을 보여주는 예If
문 syntax:
if (<test1>) {<statement list 1>}
실행할 때는If
성명,PowerShell 평가하는<test1>
조건식으로 사실 또는 거짓입니다., <test1>
가 true 이면<statement list 1>
가 실행되고 PowerShell 은If
문을 종료합니다. <test1>
가 false 인 경우 PowerShell 은<test2>
조건문으로 지정된 조건을 평가합니다.
여러 Elseif 문을 사용하여 일련의 conditionaltests 를 체인으로 연결할 수 있습니다. 따라서 각 테스트는 이전의 모든 테스트가 거짓 인 경우에만 실행됩니다.많은 Elseif 문을 포함하는If
문을 만들어야하는 경우 대신 Switch 문을 사용하는 것이 좋습니다.,
예:
간단한If
성명을 포함하는 하나의 명령과하지 않는 containany Elseif 문이나 어떤 다른 사람의 문이 있습니다. 다음 예제 showsthe 가장 단순한 형태의If
성명:
if ($a -gt 2) { Write-Host "The value $a is greater than 2."}
이 경우 예를 들어,$변수보다 큰 2,conditionevaluates true,그리고 문 목록 실행됩니다. 그러나$a 가 2 보다 작거나 기존 변수가 아닌 경우If
문은 메시지를 표시하지 않습니다.,
Else 문을 추가하면$a 가 2 에 orequal 보다 작 으면 메시지가 표시됩니다. 다음 예제에서 알 수 있듯이
이 예제를 더 세분화하려면$a 값이 2 와 같을 때 elseif 문을 사용하여 메시지를 displaya 할 수 있습니다. 다음 예제:
를 사용하여 원자 구
PowerShell7.0 도입되는 새로운 구문을 사용하여 원 연산자입니다. C#ternaryoperator 구문을 따릅니다.
<condition> ? <if-true> : <if-false>
삼항 연산자는 단순화 된if-else
문처럼 동작합니다., <condition>
expressionis 평가 및 결과로 변환하는 부울 값을 결정하는 지점이어야 evaluatednext:
<if-true>
식이 수행된 경우에는<condition>
식 true<if-false>
식이 수행된 경우에는<condition>
식 false
예를 들어:
$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)
이 예제에서,서비스가 실행 중인 경우,그것은 중지되고 상태 이면 실행하지 않는,그것이 시작됩니다.,나는 이것이 어떻게 작동하는지 잘 모르겠습니다.