在学习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:真
IsRunspacePushed:假
运行空间:System.Management.Automation.Runspaces.LocalRunspace
输入
${$}
被评估为自动变量$$
。$$
它本身被设置为会话中最后一个输入行的最后一个标记。在您的情况下,它设置为最后一个参数home\env.txt
您也可以通过类似这样的输入来看到这种效果
${?}
,结果是$?
另一个自动变量,其中包含最后执行的命令的结果。有关自动变量的列表,请参阅:https ://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables