2016-11-10 47 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