所以我有这个简单的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
我做错了什么?
答案 0 :(得分:5)
好的,你需要从脚本范围中获取变量,如下所示:
function Get-CurrentDir
{
$script:MyInvocation.MyCommand.Path
}
这也不会以交互方式工作。您希望在PowerShell中阅读更多about_scopes。