about_Language_Keywords
간단한 설명
PowerShell 스크립팅 언어의 키워드에 대해 설명합니다.
자세한 설명
PowerShell에는 다음과 같은 언어 키워드가 있습니다. 자세한 내용은 키워드에 대한 정보 항목과 표 뒤에 있는 정보를 참조하세요.
다음 키워드는 PowerShell 워크플로에서 사용됩니다.
inlinescript
parallel
sequence
workflow
PowerShell 워크플로는 PowerShell 5.1에서만 지원됩니다. 워크플로에 대한 자세한 내용은 워크플로에서 PowerShell 명령 실행을 참조 하세요.
begin
함수 dynamicparam
본문의 한 부분과 , process
및 end
키워드를 지정합니다. 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에 추가되었습니다. 키워드는 함수 및 함수 블록 이후에 begin
process
end
실행되도록 보장되는 코드 블록을 정의합니다. 블록 clean
과 end
달리 블록은 다른 블록 중 하나에 종료 오류가 있는 경우에도 항상 실행됩니다.
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
본문의 한 부분과 , process
및 end
키워드를 지정합니다. 동적 매개 변수는 런타임에 추가됩니다.
구문:
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
본문의 한 부분과 , begin
및 end
키워드를 지정합니다. 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
, process
및 end
문 목록을 포함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>)
참고 항목
PowerShell