我已将模块“ModuleFoo.psm1”导入我的脚本:“ModuleBar.ps1”
我调用导入模块中的一个方法来执行点源操作BarFunction.ps1:
function Dot-SourceBarFunction()
{
. "\BarFunction.ps1"
}
我是否可以从父作用域访问此BarFunction.ps1:ModuleBar.ps1?
答案 0 :(得分:1)
这应该正常工作,例如:
-- 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
。函数默认为模块中的公共可见性,因此当您对在模块中引入函数的脚本进行点源时,这些函数会自动公开。