파워쉘
-
[PowerShell] 자동변수(Automatic Variable) - 8. $LASTEXITCODEShell & CMD/PowerShell 2023. 11. 6. 22:03
$LASTEXITCODE $LASTEXITCODE는 exit 명령어 뒤에 입력한 숫자값을 대입하는 자동변수이다. script 파일에서 exit 할때 입력한 exitcode 값이 대입된다. 예를들어, test.ps1 파일을 아래와 같이 생성했다면 $LASTEXITCODE 에 123 값이 입력된다. Write-Host 'hello world' exit 123 exit 만 입력한 채로 종료된다면 $LASTEXITCODE는 0이 대입된다. Write-Host 'hello world' exit 별도의 exit 선언없이 script를 실행했다면, 오류가 발생했어도 $LASTEXITCODE 에 영향을 주진 않는다. 이 부분은 이어서 설명할 -Command 를 통한 실행방식과 큰 차이가 있다. Write-Host 'h..
-
[PowerShell] 자동변수(Automatic Variable) - 7. $IsCoreCLR, $IsLinux, $IsMacOS, $IsWindowsShell & CMD/PowerShell 2023. 11. 5. 11:52
$IsCoreCLR (PowerShell Core 전용) 실행중인 Powershell이 Core 버전인지 아닌지 확인할 때 사용할 수 있는 Boolean 변수 아래 Test() 함수를 생성 후 실행시 PowerShell Core에선 `core` 라는 메시지를 확인할 수 있다. function Test() { if($IsCoreCLR) { Write-Host 'core' } else { Write-Host 'not core' } } 예측가능한 결과가 나왔지만 $IsCoreCLR 값은 Windows PowerShell 자체에서 유효하지 않을 수 있다. $IsCoreCLR.GetType() 를 실행하면 Core 기반 PowerShell에선 아래 이미지와 같이 정상적인 정보가 표출된다. 반면, Windows 버..
-
[PowerShell] 자동변수(Automatic Variable) - 6. $HOME, $Host, $inputShell & CMD/PowerShell 2023. 11. 5. 09:53
$HOME 사용자 홈 경로값이다. Windows 기준으로 기본 설정을 건드리지 않는 한 C:\Users\{계정} 위치가 표기된다. $Host 현재 사용중인 Powershell의 정보를 표기한다. $input $foreach와 마찬가지로 열거자를 가리키는 자동변수이다. $foreach, $input, $switch 와 같은 열거자 자동변수는 가급적 사용하지 않는 것을 권장하고 있다. https://learn.microsoft.com/ko-kr/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.3#using-enumerators 아래 소스코드는 입력받은 pipline 을 받아 그대로 화면에 ..
-
[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.CommandInvocati..