PowerShell 中 ${$} 的含义/作用是什么?

PowerShell 中 ${$} 的含义/作用是什么?

在学习 PowerShell 时,我${$}错误地执行了该命令并得到了如下输出:

PS C:\Users\myuser> Get-ChildItem Env: | Out-File -FilePath $home\env.txt
PS C:\Users\myuser> ${$}
$home\env.txt

一开始我相信它是类似的$_,但做的${$_}却不一样。

根据我尝试过的其他示例,它似乎从前一个命令中检索最后一个参数,但我不太确定它是如何工作的或它实际上在做什么。

我将非常感激您的解释或文档/解释的链接。

PowerShell 主机信息(如果需要):

名称:ConsoleHost
版本:5.1.17134.858
InstanceId:[已删除,因为我不知道是否可以粗心共享]
UI:System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture:en-US
CurrentUICulture:en-US
PrivateData:Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled:True
IsRunspacePushed:False
Runspace:System.Management.Automation.Runspaces.LocalRunspace

答案1

输入${$}被评估为自动变量$$$$本身被设置为会话中最后一个输入行的最后一个标记。在你的情况下,它被设置为最后一个参数home\env.txt

您还可以通过类似输入的结果${?}来看到这种效果$?,这是另一个自动变量,它包含最后执行的命令的结果。

有关自动变量的列表,请参阅:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.4

相关内容