在我的 Powershell 会话中,该词job
被识别为“可调用操作”:
PS C:\Users\Rene\> job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost ...
3 Job3 BackgroundJob Completed True localhost ...
5 Job5 BackgroundJob Completed True localhost ...
7 Job7 BackgroundJob Completed True localhost ...
9 Job9 BackgroundJob Completed True localhost ...
的输出与job
的相同get-job
。所以,我假设这job
是一个函数或别名或 cmdLet。然而,情况似乎并非如此:
PS C:\Users\Rene> get-command job
get-command : The term 'job' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path
was included, verify that the path is correct and try again.
那么,如果job
既不是 cmdlet 也不是函数,也不是别名,也不是脚本文件,它是什么?
您已经了解了 Powershell 如何决定您打算运行什么。对于发生的事情,这是我被告知或看到的:
当您输入命令时,PS 会查找...
Get-
前缀的命令这个顺序与我回忆起的我读过或经历过的内容相匹配,但我可能遗漏了一两步。
虽然我从未找到任何关于此的官方文档,但 Reddit 的Powershell subreddit的几个人在过去几年中发布了有关它的信息。我认为可以深入研究 Powershell GitHub 代码并找到该过程,但我从未这样做过。
我还假设任何以 PS 为重点的代码高尔夫网站也会对所涉及的内容有一些想法。