Powershell相当于bash中的$ _

时间:2017-12-06 12:30:19

标签: bash shell powershell sh automatic-variable

在bash中,为了从最后一个命令获取参数,我们调用$_。 我搜索过但无法在PowerShell中找到与bash' s $_相同的内容? 例如:

$ mkdir 20171206
$ cd $_

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

有可能吗?

1 个答案:

答案 0 :(得分:1)

显然,bash中的ntohl(**buff)表示“上一个命令的最后一个参数”。

最接近的是$_defined为:

  

包含会话收到的最后一行中的最后一个标记。

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

编辑:就像!$

!$

所以没有直接等同于bash的PS C:\> Get-Location > a.txt PS C:\> $$ a.txt

请记住,PowerShell强烈支持对象和管道,因此保留以纯文本和空格分隔的标记来思考所有内容的bash约定也不会为您提供服务。在PowerShell中执行此操作的最佳方法是:

$_

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

mkdir 20171206 | cd