2016-11-10 46 views
2

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

什么,我做错了什么?

回答

5

好吧,你需要从脚本范围得到变量,像这样:

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

也这将不进行交互式工作。您可能想在PowerShell中阅读更多about_scopes

+0

这不是回报什么 – user979033

+0

更新了我的回答 – 4c74356b41

+0

这个$脚本在做什么? – user979033