PowerShell - 调用在另一个函数中创建的函数

PowerShell - Call a function created in another function

当我运行这个:

function Setup-One{

    function First-Function{
    Write-Host "First function!"
    }

    function Second-Function{
    Write-Host "Second function!"
    }
}
Setup-One

比起我调用 First-FunctionSecond-Function,PS 说它们不存在。我做错了什么?

函数定义是 作用域,这意味着当您离开定义它们的作用域时,它们将停止存在。

调用 Setup 时使用 . 点源运算符,从而将嵌套函数保留在调用范围中:

function Setup-One{

    function First-Function{
    Write-Host "First function!"
    }

    function Second-Function{
    Write-Host "Second function!"
    }
}
. Setup-One

# Now you can resolve First-Function/Second-Function
First-Function
Second-Function

有关 PowerShell 范围界定的更多信息,请参阅 about_Scopes help topic