다음을 통해 공유


about_Language_Keywords

간단한 설명

PowerShell 스크립팅 언어의 키워드에 대해 설명합니다.

자세한 설명

PowerShell에는 다음과 같은 언어 키워드가 있습니다. 자세한 내용은 키워드에 대한 정보 항목과 표 뒤에 있는 정보를 참조하세요.

키워드 참조
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
clean about_Functions, about_Functions_Advanced_Methods
continue about_Continue, about_Trap
data about_Data_Sections
define 나중에 사용하기 위해 예약됩니다.
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit 이 항목에 설명되어 있습니다.
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_ForEach
from 나중에 사용하기 위해 예약됩니다.
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_ForEach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var 나중에 사용하기 위해 예약됩니다.
while about_While, about_Do

다음 키워드는 PowerShell 워크플로에서 사용됩니다.

  • inlinescript
  • parallel
  • sequence
  • workflow

PowerShell 워크플로는 PowerShell 5.1에서만 지원됩니다. 워크플로에 대한 자세한 내용은 워크플로에서 PowerShell 명령 실행을 참조 하세요.

begin

함수 dynamicparam본문의 한 부분과 , processend 키워드를 지정합니다. begin 문 목록은 파이프라인에서 개체를 받기 전에 한 번 실행됩니다.

구문:

function <name> {
    dynamicparam {<statement list>}
    begin {<statement list>}
    process {<statement list>}
    end {<statement list>}
}

break

스크립트가 루프를 종료하도록 합니다.

구문:

while (<condition>) {
   <statements>
   ...

   break
   ...

   <statements>
}

catch

함께 제공되는 try 문 목록에서 오류가 발생할 경우 실행할 문 목록을 지정합니다. 오류 유형에는 대괄호가 필요합니다. 두 번째 대괄호 쌍은 오류 유형이 선택 사항임을 나타냅니다.

구문:

try {<statement list>}
catch [[<error type>]] {<statement list>}

class

PowerShell에서 새 클래스를 지정합니다.

구문:

class <class-name> {
    [[hidden] [static] <property-definition> ...]
    [<class-name>([argument-list>]) {<constructor-statement-list>} ...]
    [[hidden] [static] <method-definition> ...]
}

clean

키워드가 clean PowerShell 7.3에 추가되었습니다. 키워드는 함수 및 함수 블록 이후에 beginprocess end 실행되도록 보장되는 코드 블록을 정의합니다. 블록 cleanend 달리 블록은 다른 블록 중 하나에 종료 오류가 있는 경우에도 항상 실행됩니다.

continue

스크립트가 루프 실행을 중지하고 조건으로 돌아가도록 합니다. 조건이 충족되면 스크립트가 루프를 다시 시작합니다.

구문:

while (<condition>) {
   <statements>
   ...

   continue
   ...

   <statements>
}

data

스크립트에서 스크립트 논리에서 데이터를 격리하는 섹션을 정의합니다. 문과 일부 제한된 명령을 포함 if 할 수도 있습니다.

구문:

data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}

do

또는 until 키워드와 함께 while 루핑 구문으로 사용됩니다. PowerShell은 문을 사용하는 루프와 달리 문 목록을 한 번 이상 실행합니다 while.

while 구문:

do {<statement list>} while (<condition>)

until 구문:

do {<statement list>} until (<condition>)

dynamicparam

함수 begin본문의 한 부분과 , processend 키워드를 지정합니다. 동적 매개 변수는 런타임에 추가됩니다.

구문:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

else

키워드와 if 함께 기본 문 목록을 지정하는 데 사용됩니다.

구문:

if (<condition>) {<statement list>}
else {<statement list>}

elseif

추가 조건부를 if 지정하기 위해 키워드 및 키워드와 else 함께 사용됩니다. 키워드는 else 선택 사항입니다.

구문:

if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}

end

함수 dynamicparam본문의 한 부분과 , beginend 키워드를 지정합니다. end 문 목록은 파이프라인에서 모든 개체를 받은 후 한 번 실행됩니다.

구문:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

enum

enum 는 열거형을 선언하는 데 사용됩니다. 열거자 목록이라는 명명된 레이블 집합으로 구성된 고유 형식입니다.

구문:

enum <enum-name> {
    <label> [= <int-value>]
    ...
}

exit

PowerShell이 스크립트 또는 PowerShell 인스턴스를 종료하도록 합니다.

구문:

exit
exit <exitcode>

파일 매개 변수 .ps1 와 함께 사용하는 pwsh 경우 (스크립트) 파일 자체에는 스크립트가 실행되는 동안 발생하는 오류 또는 예외를 처리하기 위한 지침이 포함되어야 합니다. 스크립트의 exit 실행 후 상태를 나타내기 위해서만 문을 사용해야 합니다.

Windows에서는 허용된 [int]::MaxValue 번호와 사이의 [int]::MinValue 모든 번호가 허용됩니다.

Unix에서는 양수 사이의 [byte]::MinValue [byte]::MaxValue 양수만 허용됩니다. 범위 -255-1 음수는 256을 추가하여 자동으로 양수로 변환됩니다. 예를 들어 . -2 254

PowerShell에서 이 문은 exit 변수의 $LASTEXITCODE 값을 설정합니다. Windows 명령 셸(cmd.exe)에서 exit 문은 환경 변수의 %ERRORLEVEL% 값을 설정합니다.

숫자가 아니거나 플랫폼별 범위를 벗어난 인수는 값으로 0변환됩니다.

다음 예제에서는 사용자가 스크립트 파일에 test.ps1추가하여 exit 4 오류 수준 변수 값을 4 설정합니다.

C:\scripts\test>type test.ps1
1
2
3
exit 4

C:\scripts\test>pwsh -file ./test.ps1
1
2
3

C:\scripts\test>echo %ERRORLEVEL%
4

실행 pwsh.exe -File <path to a script> 하면 스크립트 파일이 명령으로 exit 종료되면 종료 코드가 명령과 함께 사용되는 숫자 인수로 exit 설정됩니다. 스크립트에 문이 없는 exit 경우 종료 코드는 항상 0 스크립트가 오류 없이 완료되거나 1 스크립트가 처리되지 않은 예외에서 종료되는 경우입니다.

filter

문 목록이 각 입력 개체에 대해 한 번 실행되는 함수를 지정합니다. 블록만 process 포함하는 함수와 동일한 효과를 줍니다.

구문:

filter <name> {<statement list>}

finally

연결된 try 문 다음에 실행되는 문 목록을 정의합니다 catch. finally Ctrl+C를 눌러 스크립트를 나가거나 스크립트에서 키워드를 사용하는 exit 경우에도 문 목록이 실행됩니다.

구문:

try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}

for

조건을 사용하여 루프를 정의합니다.

구문:

for (<initialize>; <condition>; <iterate>) { <statement list> }

foreach

컬렉션의 각 멤버를 사용하여 루프를 정의합니다.

구문:

foreach (<item> in <collection>) { <statement list> }

from

향후 사용을 위해 예약되어 있습니다.

function

재사용 가능한 코드의 명명된 문 목록을 만듭니다. 함수가 속한 범위의 이름을 지정할 수 있습니다. 키워드를 사용하여 하나 이상의 명명된 매개 변수를 param 지정할 수도 있습니다. 함수 문 목록 내에서 , begin, processend 문 목록을 포함dynamicparam할 수 있습니다.

구문:

function [<scope:>]<name> {
   param ([type]<$pname1> [, [type]<$pname2>])
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

함수 이름 뒤의 문 목록 외부에서 하나 이상의 매개 변수를 정의하는 옵션도 있습니다.

구문:

function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

if

조건부를 정의합니다.

구문:

if (<condition>) {<statement list>}

hidden

cmdlet, IntelliSense 및 탭 완성 결과의 기본 결과 Get-Member 에서 클래스 멤버를 숨깁니다.

구문:

hidden [data type] $member_name

in

문에서 foreach 컬렉션의 각 멤버를 사용하는 루프를 만드는 데 사용됩니다.

구문:

foreach (<item> in <collection>){<statement list>}

param

함수의 매개 변수를 정의합니다.

구문:

function [<scope:>]<name> {
   param ([type]<$pname1>[, [[type]<$pname2>]])
   <statement list>
}

process

함수 본문의 일부를 , begin및 키워드와 end 함께 dynamicparam지정합니다. process 문 목록이 파이프라인에서 입력을 받으면 문 목록은 파이프라인의 process 각 요소에 대해 한 번 실행됩니다. 파이프라인에서 개체 process 를 제공하지 않으면 문 목록이 실행되지 않습니다. 명령이 파이프라인의 첫 번째 명령인 process 경우 문 목록이 한 번 실행됩니다.

구문:

function <name> {
   dynamicparam {<statement list>}
   begin {<statement list>}
   process {<statement list>}
   end {<statement list>}
}

return

PowerShell이 스크립트 또는 함수와 같은 현재 범위를 벗어나도록 하고 선택적 식을 출력에 씁니다.

구문:

return [<expression>]

static

정의된 속성 또는 메서드가 정의된 클래스의 모든 인스턴스에 공통적으로 적용되도록 지정합니다.

사용 예제를 참조 class 하세요.

switch

여러 조건을 확인하려면 문을 사용합니다 switch . 이 switch 문은 일련의 if 문과 동일하지만 더 간단합니다.

문은 switch 각 조건과 선택적 작업을 나열합니다. 조건이 획득되면 작업이 수행됩니다.

구문 1:

switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

구문 2:

switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   <string>|<number>|<variable>|{ <expression> } {<statement list>}
   ...

   default {<statement list>}
}

throw

개체를 오류로 throw합니다.

구문:

throw [<object>]

trap

오류가 발생할 경우 실행할 문 목록을 정의합니다. 오류 유형에는 대괄호가 필요합니다. 두 번째 대괄호 쌍은 오류 유형이 선택 사항임을 나타냅니다.

구문:

trap [[<error type>]] {<statement list>}

try

문이 실행되는 동안 오류를 검사할 문 목록을 정의합니다. 오류가 발생하면 PowerShell은 또는 finally 문에서 catch 계속 실행됩니다. 오류 유형에는 대괄호가 필요합니다. 두 번째 대괄호 쌍은 오류 유형이 선택 사항임을 나타냅니다.

구문:

try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}

until

문에서 do 문 목록이 한 번 이상 실행되는 반복 구문으로 사용됩니다.

구문:

do {<statement list>} until (<condition>)

using

세션에서 사용되는 네임스페이스를 나타낼 수 있습니다. 형식 이름, 클래스 및 멤버를 참조하려면 입력이 덜 필요합니다. 모듈의 클래스를 포함할 수도 있습니다.

네임스페이스 구문:

using namespace <.Net-namespace>

모듈 구문:

using module <module-name>

어셈블리 구문:

using assembly <.NET-assembly-path>

자세한 내용은 about_Using 참조하세요.

while

문은 while 문이 실행되기 전에 조건을 테스트하는 루핑 구문입니다. 조건이 false이면 문이 실행되지 않습니다.

문 구문:

while (<condition>) {
   <statements>
 }

문에서 do 사용되는 경우 문 while 목록이 한 번 이상 실행되는 반복 구문의 일부입니다.

do 루프 구문:

do {<statement list>} while (<condition>)

참고 항목