如何打印功能的返回值

use*_*033 2 powershell

所以我有这个简单的function返回我当前的脚本位置:

function Get-CurrentDir
{
    $MyInvocation.MyCommand.Path
}
Run Code Online (Sandbox Code Playgroud)

我想打印这个,所以我在功能声明后尝试使用PowerShell ISE:

Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

Write-Host $(Get-CurrentDir) --> Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir) --> Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir --> Write-Host Get-CurrentDir
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

4c7*_*b41 5

好的,您需要从脚本范围获取变量,如下所示:

function Get-CurrentDir
{
    $script:MyInvocation.MyCommand.Path
}
Run Code Online (Sandbox Code Playgroud)

这也不会互动.您可能希望在PowerShell中阅读更多about_scopes.