전체 글
-
[.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 을 받아 그대로 화면에 ..
-
[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..
-
[PowerShell] 자동변수(Automatic Variable) - 4. $Error, $Event, $EventArgs, $EventSubscriber, $SenderShell & CMD/PowerShell 2023. 11. 4. 18:56
$Error 세션실행 후 오류발생시 내역이 저장되는 변수. 명령어에 오류가 발생하면 해당 $Error 배열형 변수에 누적된다. 콘솔에서 아래와 같은 순서로 오류를 유발한 뒤 $Error를 조회하면 실행실패한 오류내역이 모두 출력된다. 1/0 $arr = 1,2,3 $arr[3] = 4 $Event 실행 중인 이벤트 정보를 가지고 있는 변수. 이벤트를 통해 등록한 스크립트 블록 내에서 유효하다. $EventArgs 실행 중인 이벤트 정보 중 이벤트 인수를 의미한다. 이벤트를 통해 등록한 스크립트 블록 내에서 유효하다. $EventSubscriber 실행 중인 이벤트 정보 중 이벤트 구독자를 의미한다. 이벤트를 통해 등록한 스크립트 블록 내에서 유효하다. $Sender 이벤트를 실행한 객체 정보를 의미한다...