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

function Get-CurrentDir
{
    $MyInvocation.MyCommand.Path
}

而且我想打印此文件,因此我在功能声明后尝试从PowerShell ISE:
Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir

这是我的输出:
Write-Host $(Get-CurrentDir) --> Write-Host $(Get-CurrentDir)
Write-Host (Get-CurrentDir) --> Write-Host (Get-CurrentDir)
Write-Host Get-CurrentDir --> Write-Host Get-CurrentDir

我做错了什么?

最佳答案

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

function Get-CurrentDir
{
    $script:MyInvocation.MyCommand.Path
}

而且这将无法交互工作。您可能想在PowerShell中阅读更多about_scopes

关于powershell - 如何打印函数的返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40526905/

10-11 07:11