在 bash 中,要从最后一个命令中获取参数,我们调用$_
. $_
我已经搜索但在 PowerShell 中找不到与 bash 等效的内容?例子:
$ mkdir 20171206
$ cd $_
现在 bash 当前工作目录将是20171206
,我正在尝试通过 PowerShell 实现相同的目标。
是否可以 ?
在 bash 中,要从最后一个命令中获取参数,我们调用$_
. $_
我已经搜索但在 PowerShell 中找不到与 bash 等效的内容?例子:
$ mkdir 20171206
$ cd $_
现在 bash 当前工作目录将是20171206
,我正在尝试通过 PowerShell 实现相同的目标。
是否可以 ?
显然,$_
在 bash 中的意思是“上一个命令的最后一个参数”。
最接近的近似值是$$
,其定义为:
包含会话收到的最后一行中的最后一个令牌。
但是,我不知道这是否意味着 PowerShell 的$$
行为类似于 bash 的行为,$_
或者它的行为类似于 bash 的!$
. 我认为它更接近!$
,但我目前在我的 Chromebook 上,无法确认。
编辑:就像!$
:
PS C:\> Get-Location > a.txt
PS C:\> $$
a.txt
所以没有直接等同于 bash 的$_
.
但请记住,PowerShell 强烈支持对象和管道,因此保留以纯文本和空格分隔的标记来考虑所有内容的 bash 约定也不会为您服务。在 PowerShell 中执行此操作的最佳方法是:
mkdir 20171206 | cd
或者,如果您没有使用任何默认的 PowerShell 别名和函数(例如,我不确定 Linux PowerShell 上保留了什么):
New-Item 20171206 -ItemType Directory | Set-Location