programing

Powershell 모듈에서 "헬퍼" 기능을 숨기는 방법

lastcode 2023. 8. 20. 11:12
반응형

Powershell 모듈에서 "헬퍼" 기능을 숨기는 방법

저는 최종 사용자를 위한 몇 가지 기능과 최종 사용자가 호출하지 않는 몇 가지 내부 도우미 기능을 가진 모듈 xy를 가지고 있습니다.

Get-Command -Module xy -CommandType function

에는 모듈 폴더에 있는 모든 기능(예:get-foo그리고.get-foo_helper)

숨을 수 있는 방법이 있습니까?get-foo_helper다음을 사용하는 최종 사용자의 기능:

Get-Command -Module tcaps -CommandType function

제가 한 일 중 하나는 내보낼 함수에 동사-명사 명명 규칙을 사용하는 것이지만 도우미 함수에서는 하이픈을 생략하는 것입니다.

그리고나서,export-modulemember *-*에서는 내보낼 내용만 내보냅니다.

Export-ModuleMember를 모듈 하단에 추가하기만 하면 됩니다.

모듈에 다음 기능이 있다고 가정합니다.

New-Function0
New-Function1
New-Function2
New-HelperFunction0

모듈 파일의 맨 아래에 다음 행을 추가합니다.

Export-ModuleMember -function New-Function0
Export-ModuleMember -function New-Function1
Export-ModuleMember -function New-Function2

이 모듈에서 Import-Module을 실행하면 Export-ModuleMember에서 정의한 기능만 가져옵니다.

이제 새로운 기능1의 별칭도 내보내고 싶다고 가정해 보겠습니다.모듈의 끝에 다음을 추가합니다.

Export-ModuleMember -alias nf1

이제 Import-Module을 사용하면 New-Function1의 별칭(nf1)과 함께 사용자가 정의한 함수가 로드됩니다.

대부분의 경우 선언된 함수는 스크립트 블록(익명 함수)으로 대체될 수 있습니다.

Export-ModuleMember를 사용하거나 모듈 매니페스트를 만들고 내보낸 명령을 지정할 수 있습니다.새 모듈 매니페스트를 사용하여 매니페스트 파일을 만들 수 있습니다.

언급URL : https://stackoverflow.com/questions/6032344/how-to-hide-helper-functions-in-powershell-modules

반응형