PowerShell 无法解释 "which" 等命令
PowerShell fails to interpret commands such as "which"
我的 windows Powershell 在解释诸如“date”和“echo”之类的命令时给出了预期的结果,而在解释诸如“which”和“tail”之类的命令时却出现了问题。
我想可能是我没有把这些命令的地址添加到目标目录,但是我大概在哪里可以找到这些命令。
What happens when I apply "which", with the same thing happening when applying "tail"
which
和tail
是外部程序的名称,与PowerShell无关。这些程序只能出现在 Unix-like 平台上,而不是(本地)在 Windows 上。 (但是,它们会出现在 Unix-like 子系统 on Windows 中,例如 WSL。)
相比之下,date
和 echo
是 内置于 PowerShell 中的(潜在)命令,无论它在什么平台上运行:
echo
是 PowerShell Write-Output
cmdlet 在所有平台上的 别名 。
date
- 除非该名称的外部程序存在于给定平台上 $env:PATH
中列出的目录中 - 指的是 内置 Get-Date
cmdlet。
- 注意:这依赖于 PowerShell 的 ill-conceived 默认动词 功能,如果未找到命令形式,该功能会在命令名称前加上
Get-
前缀通过给定的名称。为了概念清晰和避免不必要的开销,不应依赖这一点。此外,这种回退(意外地)不是 由下面讨论的 Get-Command
报告,也不是由 Get-Help
- see GitHub issue #3987. 报告
使用 Get-Command
确定给定名称引用的命令形式(如果有的话)(添加 -All
以查看是否可能存在 多个 形式,其中 有效 列在第一位)。
我的 windows Powershell 在解释诸如“date”和“echo”之类的命令时给出了预期的结果,而在解释诸如“which”和“tail”之类的命令时却出现了问题。 我想可能是我没有把这些命令的地址添加到目标目录,但是我大概在哪里可以找到这些命令。
What happens when I apply "which", with the same thing happening when applying "tail"
which
和tail
是外部程序的名称,与PowerShell无关。这些程序只能出现在 Unix-like 平台上,而不是(本地)在 Windows 上。 (但是,它们会出现在 Unix-like 子系统 on Windows 中,例如 WSL。)
相比之下,date
和 echo
是 内置于 PowerShell 中的(潜在)命令,无论它在什么平台上运行:
echo
是 PowerShellWrite-Output
cmdlet 在所有平台上的 别名 。date
- 除非该名称的外部程序存在于给定平台上$env:PATH
中列出的目录中 - 指的是 内置Get-Date
cmdlet。- 注意:这依赖于 PowerShell 的 ill-conceived 默认动词 功能,如果未找到命令形式,该功能会在命令名称前加上
Get-
前缀通过给定的名称。为了概念清晰和避免不必要的开销,不应依赖这一点。此外,这种回退(意外地)不是 由下面讨论的Get-Command
报告,也不是由Get-Help
- see GitHub issue #3987. 报告
- 注意:这依赖于 PowerShell 的 ill-conceived 默认动词 功能,如果未找到命令形式,该功能会在命令名称前加上
使用 Get-Command
确定给定名称引用的命令形式(如果有的话)(添加 -All
以查看是否可能存在 多个 形式,其中 有效 列在第一位)。