about_While

about_While

PowerShell의 while 반복문을 다뤄요. 조건이 참인 동안 명령 블록을 계속 반복 실행하는 언어 문장(statement)이에요.

출처: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_while

본문

while 문(원어로는 while loop, 반복문이라고도 해요)은 조건식(conditional test)이 참(true)으로 평가되는 동안 명령 블록 안의 명령을 실행하는 언어 구조예요.

while 문은 for 문보다 문법이 덜 복잡해서 만들기가 더 쉬워요. 게다가 반복 횟수를 조건식으로 직접 지정하기 때문에 foreach 문보다 더 유연하기도 해요.

while 문의 문법은 이렇게 생겼어요:

while (<condition>){<statement list>}

while 문을 실행하면 PowerShell은 <statement list> 부분에 들어가기 전에 먼저 <condition> 부분을 평가해요. 조건 부분은 참 아니면 거짓 중 하나로 결정되고, 조건이 참인 동안에는 <statement list> 부분을 계속 다시 실행해요. 불리언(boolean) 값이 어떤 식으로 평가되는지 궁금하다면 about_Booleans 문서에서 확인할 수 있어요.

<statement list> 부분에는 반복문이 실행될 때마다 돌아가는 명령이 하나 이상 들어가요. 여기에는 유효한 PowerShell 문장이라면 무엇이든 들어갈 수 있는데, breakcontinue 같은 키워드도 그대로 쓸 수 있어요.

예를 들어, 아래 while 문은 $val 변수가 아직 만들어지지 않았거나 0으로 초기화되어 있는 상태라면 1부터 3까지의 숫자를 화면에 보여줘요.

while($val -ne 3)
{
$val++
Write-Host $val
}

이 예시에서 조건($val이 3이 아님)은 $val이 0, 1, 2일 때 참이에요. 반복을 거칠 때마다 $val++ 단항 증가 연산자로 1씩 늘어나요. 마지막 반복에서 $val이 3이 되는 순간 조건식이 거짓으로 평가되고 반복문이 종료돼요.

PowerShell 명령 프롬프트에서 편하게 입력하려면 한 줄로 줄여서 쓸 수도 있어요:

while($val -ne 3){$val++; Write-Host $val}

여기에서 세미콜론이 $val에 1을 더하는 첫 번째 명령과 $val의 값을 콘솔에 써 주는 두 번째 명령을 구분해 주는 역할을 해요.

더 알아보기