Почему powershell допускает отсутствие пробела между `cd` и` ..`? - PullRequest
0 голосов
/ 19 сентября 2018

Почему и как работает cd.., то есть без пробела между командой и аргументом?

1 Ответ

0 голосов
/ 19 сентября 2018

То, что вы видите, это автоматическая функция в комплекте с powershell.Вы можете найти определение команд с помощью Get-Command.В этом сценарии:

PS /> Get-Command -Name cd..

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        cd..

И чтобы получить более подробную информацию:

PS /> Get-Command -Name cd.. | Format-List -Property * -Force

HelpUri             :
ScriptBlock         : Set-Location ..
CmdletBinding       : False
DefaultParameterSet :
Definition          : Set-Location ..
Options             : None
Description         :
Verb                :
Noun                :
HelpFile            : System.Management.Automation.dll-Help.xml
OutputType          : {}
Name                : cd..
CommandType         : Function
Source              :
Version             :
Visibility          : Public
ModuleName          :
Module              :
RemotingCapability  : PowerShell
Parameters          : {}
ParameterSets       : {}

Короче говоря, вы также можете получить доступ к определению функции, используя диск Function:, который дастВы scriptblock объект функции, преобразованный в строку для консоли.

PS /> ${Function:cd..}
Set-Location ..
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...