#title 파워셸 [[TableOfContents]] == 환경 변수에 대해 == PowerShell 환경 변수는 PowerShell 스크립트에서 사용되는 변수이다. PowerShell 환경 변수는 일반적으로 $ 문자로 시작하며, 변수 이름은 대소문자를 구분한다. More: https://docs.microsoft.com/ko-kr/powershell/module/microsoft.powershell.core/about/about_environment_variables?view=powershell-7.2 {{{+1 Quick Start }}} 1. 변수 선언: `$` 문자와 변수 이름을 사용한다. `$myVariable = "Hello, World!"` 2. 변수 값 읽기: `$` 문자와 변수 이름을 사용한다. `$myVariable` 3. 변수 값 변경: `$` 문자와 변수 이름을 사용하여 변수에 새 값을 할당한다. `$myVariable = "Goodbye, World!"` 4. 변수 삭제: `Remove-Variable` cmdlet 사용. 예) `Remove-Variable myVariable`과 같이 입력하면 `$myVariable` 변수를 삭제할 수 있다. * 시스템 환경 변수: PowerShell은 시스템 환경 변수도 읽고 쓸 수 있다. 시스템 환경 변수는 `$env:` 접두사를 사용하여 접근할 수 있다. 예를 들어, `$env:Path` 변수를 사용하여 시스템 Path 환경 변수 값을 읽을 수 있다. * 사용자 환경 변수: 사용자 환경 변수는 `$env:USERNAME`과 같이 `$env:` 접두사를 사용하여 접근할 수 있다. == cmdlet == PowerShell의 cmdlet은 PowerShell에서 사용되는 기본 명령어이다. cmdlet은 "커맨드 렛" 또는 "커맨드릿"이라고도 불리며, .NET Framework에서 구현된 C# 또는 VB.NET 코드로 작성된다. cmdlet은 PowerShell 스크립트나 명령줄에서 직접 사용할 수 있으며, 직접 만든 사용자 정의 cmdlet도 추가할 수 있습니다. PowerShell의 cmdlet은 명령어 이름, 매개 변수 및 명령어 출력을 지정하는데 사용되는 동사-명사 구조를 가진다. 예를 들어, `Get-Process` cmdlet은 현재 실행 중인 모든 프로세스를 검색하는 데 사용된다. 이 cmdlet의 이름은 "Get" 동사와 "Process" 명사로 구성되어 있다. PowerShell에는 수백 가지의 내장 cmdlet이 있으며, 이러한 cmdlet은 파일 및 폴더 관리, 프로세스 관리, 이벤트 로깅, 성능 모니터링 등 다양한 작업을 수행할 수 있다. 일부 cmdlet은 Windows 운영 체제의 서비스나 레지스트리와 상호 작용하는데 사용되기도 한다. cmdlet은 일반적으로 파이프라인을 통해 함께 사용되어 데이터 처리를 쉽게 할 수 있다. 예를 들어, `Get-ChildItem | Where-Object {$_.Name -like "*.txt"}`와 같이 입력하면 Get-ChildItem cmdlet으로부터 출력된 파일 목록에서 .txt 파일만 필터링할 수 있다. PowerShell의 cmdlet은 PowerShell 스크립트 및 PowerShell 환경에서 일관된 명령 구문을 제공하므로, PowerShell을 사용하여 시스템 관리, 자동화 및 스크립팅을 보다 쉽게 수행할 수 있다. == Tips == === 환경 설정 === ==== 프로필 유형 및 위치 ==== {{{ > $PSHOME }}} https://learn.microsoft.com/ko-kr/powershell/module/microsoft.powershell.core/about/about_profiles?view=powershell-7.3 ==== PowerShell용 kubectl 자동 완성 ==== https://kubernetes.io/ko/docs/tasks/tools/included/optional-kubectl-configs-pwsh/ ==== Bash-like Tab 키 완성 목록 제시 (추천👏) ==== {{{ > Set-PSReadlineKeyHandler -Chord Tab -Function PossibleCompletions }}} 더 많은 정보 https://dev.to/ofhouse/add-a-bash-like-autocomplete-to-your-powershell-4257 Set-PSReadlineKeyHandler는 PowerShell의 PSReadline 모듈에서 사용되는 cmdlet이다. 이 cmdlet은 키보드 입력과 PSReadline 명령을 매핑하는 데 사용된다. Set-PSReadlineKeyHandler cmdlet을 사용하면 키 매핑을 만들어 PowerShell 명령줄 편집을 개선할 수 있다. PSReadline 모듈은 PowerShell에서 명령줄 편집을 지원하는 모듈이며, 사용자 정의 키 매핑을 만들 수 있는 기능도 제공한다. Set-PSReadlineKeyHandler cmdlet을 사용하여 이러한 사용자 정의 키 매핑을 만들 수 있다. 예를 들어, `Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete`와 같이 입력하면 Tab 키가 MenuComplete 함수와 매핑된다. 이렇게 매핑된 키를 누르면 MenuComplete 함수가 실행되어 자동 완성을 제공한다. 또한, Set-PSReadlineKeyHandler cmdlet은 키 매핑을 변경하거나 삭제할 수도 있다. 예를 들어, `Remove-PSReadlineKeyHandler -Key Tab`와 같이 입력하면 Tab 키와 관련된 모든 매핑을 삭제할 수 있다. ---- CategoryDocument