분류 전체보기
-
[PowerShell] 자동변수(Automatic Variable) - 11. $PSBoundParameters, $PSCmdlet, $PSCommandPathShell & CMD/PowerShell 2023. 11. 25. 12:35
$PSBoundParameters 스크립트 또는 함수에 전달된 파라메터를 의미한다. 테스트를 위해 $PROFILE 프로필에 아래와 같은 함수를 추가하자 function Test1 { param ( $a, $b ) Write-Host 'Test1' $PSBoundParameters } function Test2 { param ( $a, $b ) Write-Host 'Test2' Test1 @PSBoundParameters } $PROFILE을 다뤄본 적 없다면, 아래 글을 참고하여 생성할 수 있다. [PowerShell 기초] 6. Powershell 프로필 설정 :: 또치의 삽질 보관함 (tistory.com) [PowerShell 기초] 6. Powershell 프로필 설정 Windows 환경의 Pow..
-
[PowerShell] 자동변수(Automatic Variable) - 10. $null, $PID, $PROFILEShell & CMD/PowerShell 2023. 11. 25. 11:41
$null "값 없음"을 의미하는 값. 하지만 존재자체는 하기 때문에 배열에 포함되어 있을 경우 요소의 1개로 인식된다. "one", $null, "three" | ForEach-Object { "Hello " + $_} $PID 현재 PowerShell 세션을 호스팅하는 프로세스의 PID(프로세스 식별자) 번호를 나타낸다. $PID 작업관리자의 [자세히] 메뉴에 존재하는 PID 값이다. $PROFILE 현재 사용자 및 현재 호스트 애플리케이션에 대한 PowerShell 프로필의 전체 경로를 의미한다. 해당 경로에 프로필 ps1 파일에 함수나 변수값을 미리 지정해두면, 파워셸을 실행할 때마다 사용할 수 있다. $PROFILE을 파워셸을 보다 편리하게 사용할 수 있는 방법은 아래 포스트로 정리한 바 있다...
-
[.NET 8.0] C# 12 새로운 기능 정리.NET 2023. 11. 16. 01:45
2023년 11월 15일 .NET 8.0 이 정식 릴리즈 되었다. 그와 함께 C# 언어 버전도 12로 올라오게 되었는데, 어떤 점이 생겼는지 정리해보았다. 1.기본생성자(Primary Constructors) 지금까진 class 에서 생성자 함수를 선언할 때 아래와 같이 생성한다. public class AsIs { private string name; public AsIs(string name) { // 생성자 함수 this.name = name; } public void PrintName() { Console.WriteLine(name); } } C# 12부터는 record 형식과 마찬가지로 별도 생성자함수 없이 클래스 옆에 바로 선언이 가능하다. public class Tobe(string name..
-
[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 이름, 매개 변수, 매개 변수 값과 같은 현재 명령에 대한 정보와 명령이 시작, 호출 ..
-
[Windows Terminal] 윈도우 터미널 실행 명령어 (wt)ETC 2023. 11. 12. 12:15
cmd, powershell 및 사용자 추가에 의해 설치가능한 Linux Subsystem, powershell Core는 Windows Terminal 이란 프로그램에서 통합 관리할 수 있다. 해당 프로그램은 최신 Windows 11부터 기본 설치되어있다. CLI 또는 '실행(Win+R)'에서의 실행명령어는 아래와 같다. > wt 기본적인 실행명령에 옵션을 통해 추가적인 작업도 사용할 수 있다. 관련해선 아래 링크에서 확인 가능하다. Windows 터미널 명령줄 인수 | Microsoft Learn Windows 터미널 명령줄 인수 Windows Terminal에 대한 명령줄 인수를 만드는 방법을 알아봅니다. learn.microsoft.com powerhsell 에서 관리자 모드로 전환하고 싶을 때 ..
-
[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 을 받아 그대로 화면에 ..