Articles

PowerShell 의 함수 이해

동일한 코드를 반복해서 복사하여 붙여 넣는 대신 PowerShell 함수를 만듭니다.

PowerShell 스크립트 작성을 처음 시작할 때 모듈성,재사용 성 및”모범 사례”와 같은 것들에 대해 반드시 염려하지는 않습니다.”당신은 단지 발을 젖게하고 있습니다. 그러나 시간이 지남에 따라 코드에서 자신을 반복하기 시작한다는 것을 곧 알게 될 것입니다.계속해서 똑같은 일을해야 할 필요성이 계속 커지고 있음을 알 수 있습니다. 동일한 코드를 복사하여 붙여 넣기 만해도 지속 가능하지 않습니다. 대신 재사용 할 수 있도록 코드에 작은”빌딩 블록”을 만드는 것이 어떻습니까? 이제 PowerShell 함수를 만들기 시작할 때입니다.

PowerShell 의 함수는 선택적 입력 및 출력을 갖는 코드의 그룹화입니다. 그 코드를 반복해서 복제하는 대신 가리키는 것만으로 한 번 또는 여러 번 수행 할 수있는 코드 무리를 모으는 방법입니다.

기본 함수

PowerShell 에는 두 가지 종류의 함수가 있습니다. 우리는”기본”기능과 고급 기능을 가지고 있습니다. “기본”함수는 만들 수있는 함수의 가장 간단한 형태입니다. 그들은 고급 기능이하는 멋진 내장 기능을 가지고 있지 않습니다. 중괄호 세트 다음에 함수 문을 사용하여 작성되거나 선언됩니다.

기능을 하는 뭔가{}

위의 기술적으로 기능할 수 있는 다음을 호출하여행-뭔가 하지만 당신이 그것을 찾을 수 있 매우 많이 하지 않. 실행할 코드를 내부에 포함하지 않았기 때문입니다. 내부에 간단한 코드를 추가하여 무언가를 수행하도록하겠습니다. 시연하기 위해 PowerShell 콘솔에 텍스트를 쓰는 Write-Host 명령을 사용하겠습니다.

함수 Do-Something{
Write-Host’나는 뭔가를했다!’
}

PS>Do-Something
나는 뭔가를했다!

이제 호출 될 때 위에서 볼 수 있습니다.이 함수는 함수 내부에서 코드를 실행합니다. 실행 중일 때 함수 내부의 코드에 무언가를 전달하고 싶다면 어떻게해야합니까? 매개 변수 블록 내부에 하나 이상의 매개 변수를 만들 수 있습니다.나는 내가 할 수있는 일을 알고 있지만,내가 할 수있는 일을 알고 있지만,내가 할 수있는 일을 알고 있습니다.”}

PS>Do-Something-String’thing’
나는 뭔가를했다-일!

주는 지정된 문자열을 매개 변수에 추가하여 대시 다음 매개 변수 이름 뒤에 값이 오른쪽이라 할 뭔가. 이것은 함수에 매개 변수를 전달하는 기본 사항입니다.

고급 기능

기본적인 기능이 작동하지만,대부분의 시간을 당신은 자신을 찾을 수 있을 만드는 고급 기능입니다. 고급 기능은 기능을 포함하는 모든 기능으로 기본적인 기능을 하지만 또한 어떤 가 제공하는 기본적인 기능을 하지 않습니다. 예를 들어 PowerShell 에는 오류,경고,자세한 내용 등이라는 스트림 개념이 있습니다. 이러한 스트림은 사용자에게 출력을 올바르게 표시하는 데 중요합니다. 기본 기능은 본질적으로 이러한 스트림을 이해하지 못합니다.함수 내부에서 어떤 일이 발생하면 오류 메시지를 표시하고 싶다고 가정 해 봅시다. 그러나 우리는 또한 특정 시간에만 어떤 이유로이 오류 메시지를 숨길 수있는 기능을 원합니다. 기본 기능으로,이 작업을 수행하는 것이 kludgy 일 것입니다. 그러나 고급 기능을 사용하면 해당 기능이 바로 내장되어 있습니다. 고급 함수는 기본적으로 Verbose,ErrorAction,WarningVariable 등과 같이 포함하지 않더라도 이미 매개 변수를 가지고 있습니다. 이것들은 몇 가지 다른 방법으로 활용할 수 있습니다. 우리의 오류 예제에서 키워드를 사용하여 기능을”고급”으로 수정했다고 가정 해 보겠습니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다.’
}

PS>Do-Something
Do-Something:위험,윌 로빈슨!
At line:1char:1
+Do-Something
+ ~~~~~~~~~~~~
+CategoryInfo:NotSpecified:(:),
WriteErrorException
+FullyQualifiedErrorId:
Microsoft.파워쉘.명령.WriteErrorException,Do-Something

이 실행되면 즉시 오류 스트림에서 왔음을 나타내는 빨간색 텍스트가 표시됩니다. 이제이 오류를 침묵 시키자.

렇게 무언가-ErrorAction SilentlyContinue

ErrorAction 매개 변수는 내장된 매개 변수에 모든 고급 기능입니다. 우리가 커버 할 시간을 얻지 못했던 PowerShell 기능에는 훨씬 더 많은 것이 있습니다. 고급 기능이 당신을 위해 할 수있는 모든의 전체 고장,about_advanced_functions 도움말 항목을 참조하십시오.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다