如何打印功能的返回值

时间:2016-11-10 11:48:56

标签: powershell

所以我有这个简单的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

我做错了什么?

1 个答案:

答案 0 :(得分:5)

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

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

这也不会以交互方式工作。您希望在PowerShell中阅读更多about_scopes