モジュール「ModuleFoo.psm1」をスクリプト「ModuleBar.ps1」にインポートしました
そして、インポートされたモジュールにあるメソッドを呼び出して、BarFunction.ps1関数にドットソーシングを実行します。
function Dot-SourceBarFunction()
{
. "\BarFunction.ps1"
}
このBarFunction.ps1を親スコープであるModuleBar.ps1からアクセスできるようにすることはできますか?
モジュール「ModuleFoo.psm1」をスクリプト「ModuleBar.ps1」にインポートしました
そして、インポートされたモジュールにあるメソッドを呼び出して、BarFunction.ps1関数にドットソーシングを実行します。
function Dot-SourceBarFunction()
{
. "\BarFunction.ps1"
}
このBarFunction.ps1を親スコープであるModuleBar.ps1からアクセスできるようにすることはできますか?
これはうまくいくはずです。例:
-- Outer.ps1 --
Import-Module $PSScriptRoot\module.psm1
Get-Foo
-- Module.psm1 --
. $PSScriptRoot\inner.ps1
-- Inner.ps1 --
function Get-Foo {
"$($MyInvocation.MyCommand.Name) called"
}
これはを出力しますGet-Foo called
。関数はデフォルトでモジュール内で公開されているため、モジュール内の関数をプルするスクリプトをドットソース化すると、それらは自動的に公開されます。