Powershell 相当于 bash 中的 $_

Powershell equivalent to $_ in bash

在 bash 中,为了从上一个命令中获取参数,我们调用 $_。 我已搜索但找不到与 PowerShell 中的 bash 的 $_ 等效的内容? 示例:

$ mkdir 20171206
$ cd $_

现在 bash 当前工作目录将是 20171206,我正在尝试通过 PowerShell 实现相同的目标。

可能吗?

显然,bash中的$_表示"last argument of previous command"。

最接近的近似值是 $$,即 defined 为:

Contains the last token in the last line received by the session.

不过,我不知道这是否意味着 PowerShell 的 $$ behaves like bash's $_ or if it behaves like bash's !$。我认为它更接近 !$,但我目前正在使用 Chromebook,无法确认。

编辑:就像 !$:

PS C:\> Get-Location > a.txt
PS C:\> $$
a.txt

所以没有直接等同于 bash 的 $_

不过请记住,PowerShell 强烈支持对象和管道,因此保留 bash 以纯文本和 space 分隔的标记来考虑所有内容的惯例将不起作用你也是。在 PowerShell 中执行此操作的最佳方法是:

mkdir 20171206 | cd

或者,如果您没有使用任何默认的 PowerShell 别名和函数(例如,我不确定在 Linux PowerShell 上保留了什么):

New-Item 20171206 -ItemType Directory | Set-Location