-
[PowerShell] 자동변수(Automatic Variable) - 5. $ExecutionContext, $true, $false, $foreachShell & CMD/PowerShell 2023. 11. 4. 21:25반응형
$ExecutionContext
현재 PowerShell 호스트 실행 컨텍스트 객체를 가리킨다. 입력시 아래와 같은 정보를 출력한다.
❯ $ExecutionContext Host : System.Management.Automation.Internal.Host.InternalHost Events : System.Management.Automation.PSLocalEventManager InvokeProvider : System.Management.Automation.ProviderIntrinsics SessionState : System.Management.Automation.SessionState InvokeCommand : System.Management.Automation.CommandInvocationIntrinsics
해당 세션내 이벤트나 InvokeCommand 존재시 확인이 가능하다.
$ExecutionContext.Events
$true, $false
각각 true 값과 false 값을 나타낸다.
$foreach
반복문 내 열거자를 의미하며 foreach 내에서만 유효한 변수이다. 아래와 같이 foreach 내 currnet 변수를 통해 item 정보를 표현할 수 있다.
$foreach, $input, $switch 와 같은 열거자 자동변수는 가급적 사용하지 않는 것을 권장하고 있다.
https://learn.microsoft.com/ko-kr/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.3#using-enumeratorsforeach ($item in (1..10)) { Write-Host $($foreach.Current) }
$foreach 를 통해 열거를 초기화 할 수 있는 Reset 함수도 존재한다. 아래 예제는 $item 이 10일 때 Reset() 함수를 사용해 1~10 까지 무한 출력하는 예제이다.
foreach ($item in (1..10)) { Write-Host $($foreach.Current) if($item -eq 10) { $foreach.Reset() } }
참조
반응형'Shell & CMD > PowerShell' 카테고리의 다른 글