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
在 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