Warum erkennt PowerShell "Job" als Befehl?

Sep 17 2020

In meiner Powershell-Sitzung wird das Wort jobals "aufrufbare Aktion" erkannt:

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

Die Ausgabe von jobist die gleiche wie von get-job. Also nahm ich an, dass dies jobeine Funktion oder ein Alias ​​oder ein cmdLet ist. Dies scheint jedoch nicht der Fall zu sein:

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.

Wenn jobes sich also weder um ein Cmdlet noch um eine Funktion, noch um einen Alias ​​oder eine Skriptdatei handelt, was ist das?

Antworten

1 Lee_Dailey Sep 18 2020 at 06:53

Sie laufen in wie Posh entscheidet , was Sie beabsichtigen , zu laufen. [ grinst ] für das, was passiert, hier ist, was mir gesagt oder gesehen wurde.

Wenn Sie einen Befehl eingeben, sucht PoSh nach ...

  • den genauen Befehl, den Sie eingegeben haben
  • für den genauen Befehl in der OS-Pfadliste [s]
  • der Befehl mit dem Get-Präfix vorangestellt

Diese Sequenz stimmt mit dem überein, woran ich mich erinnere, was ich gelesen oder erlebt habe, aber ich habe vielleicht ein oder zwei Schritte ausgelassen.

Obwohl ich noch nie offizielle Dokumente dazu gefunden habe, haben einige Leute /r/powershellin den letzten Jahren darüber geschrieben. i nehme an, dass man in die Powershell Github Code graben konnte und den Prozess finden, aber ich habe noch nie so gemacht. [ erröten ]

Ich gehe auch davon aus, dass jede PoSh-fokussierte Code-Golf-Site auch einige Ideen dazu haben würde, worum es geht.