-
[PowerShell] 자동변수(Automatic Variable) - 9. $Matches, $MyInvocation, $NestedPromptLevelShell & CMD/PowerShell 2023. 11. 12. 13:05반응형
$Matches
-match, -notmatch 연산결과에서 -match 연산결과가 true일 때, $Matches에 해시테이블 형식으로 담긴다.
아래 이미지는 사용예시이다. 'helloworld' -match 'hello[abc]orld' 는 정규식 연산 규칙에 의해 일치하지 않으므로 $Matches 에선 아무 데이터가 들어가지 않았다.
'helloworld' -match 'hello[wyx]orld' 에선 -match에 일치결과가 있으므로 $Matches 에 값이 담긴것을 확인할 수 있다.
match 이후 match 연산에 어긋나는 결과가 있다해도 $Matches 변수를 초기화하진 않는다.
$MyInvocation
이름, 매개 변수, 매개 변수 값과 같은 현재 명령에 대한 정보와 명령이 시작, 호출 또는 호출된 방법에 대한 정보를 표기한다.
아래와 같이 스크립트를 작성하고, 파일명을 test.ps1 이라하여 저장해보자
Write-Host 'start test.ps1' $MyInvocation Write-Host 'end test.ps1'
test1.ps1 실행시 아래와 같이 표기된다. HistoryId 는 사용자가 pwsh 세션 시작시점부터 사용한 명령어 수에 따라 다를 수 있다.
(확인불가) $NestedPromptLevel
중첩된 프롬프트 확인 불가
출처
반응형'Shell & CMD > PowerShell' 카테고리의 다른 글