about_PSConsoleHostReadLine
간단한 설명
PowerShell이 콘솔 프롬프트에서 입력을 읽는 방법을 사용자 지정하는 방법을 설명합니다.
자세한 설명
Windows PowerShell 3.0부터 콘솔 입력이 처리되는 기본 방법을 재정의하는 PSConsoleHostReadLine
함수를 작성할 수 있습니다.
이 함수는 PSReadLine 모듈에 의해 확장됩니다.
예제
다음 예제에서는 메모장을 시작하고 사용자가 만든 텍스트 파일에서 입력을 가져옵니다.
function PSConsoleHostReadLine {
$inputFile = Join-Path $env:TEMP PSConsoleHostReadLine
Set-Content $inputFile "PS > "
# Notepad opens. Enter your command in it, save the file, and then exit.
notepad $inputFile | Out-Null
$userInput = Get-Content $inputFile
$resultingCommand = $userInput.Replace("PS >", "")
$resultingCommand
}
의견
기본적으로 PowerShell은 Windows 콘솔 하위 시스템이 모든 키프레스, F7 메뉴 및 기타 입력을 처리하는 "조리된 모드"로 알려진 콘솔에서 입력을 읽습니다.
Enter 또는 Tab누르면 PowerShell에서 해당 지점까지 입력한 텍스트를 가져옵니다.
Ctrl+R, Ctrl+A, Ctrl+E를 누르거나, 다른 키를 누른 후 Enter 또는 Tab을 누른 것을 알 방법이 없습니다. Windows PowerShell 3.0의 PSConsoleHostReadLine
함수는 이 문제를 해결합니다. PowerShell 콘솔 호스트에서 PSConsoleHostReadline
함수를 정의할 때 PowerShell은 "조리된 모드" 입력 메커니즘 대신 해당 함수를 호출합니다.
참고 항목
- about_Prompts
- PSConsoleHostReadLine
- High-Level 콘솔 모드
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
PowerShell