PowerShell中的“退出”究竟是什么?
您可以通过键入exit
退出PowerShell。 到现在为止还挺好。 但究竟是什么呢?
PS Home:\> gcm exit Get-Command : The term 'exit' is not recognized as the name of a cmdlet, function, script file, or operable program. Ch eck the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:4 + gcm <<<< exit + CategoryInfo : ObjectNotFound: (exit:String) [Get-Command], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand
所以它既不是一个cmdlet,函数,脚本或程序。 这留下了什么问题。
这不幸的是,也意味着一个不能创build别名exit
:
PS Home:\> New-Alias ^D exit PS Home:\> ^D Cannot resolve alias '♦' because it refers to term 'exit', which is not recognized as a cmdlet, function, operable prog ram, or script file. Verify the term and try again. At line:1 char:2 + ♦ <<<< + CategoryInfo : ObjectNotFound: (♦:String) [], CommandNotFoundException + FullyQualifiedErrorId : AliasNotResolvedException
还有没有命令是这样的命令?
ETA:仅供参考:我知道我可以简单地把它包装成一个函数。 我的个人资料有线
# exit with Ctrl+D iex "function $([char]4) { exit }"
在他们中。 我的问题只是要知道这个命令是什么。
这是一个保留的关键字(如return,filter,function,break)。
参考
另外,根据Bruce Payette的Powershell在行动的第7.6.4节:
但是当你想让一个脚本在该脚本中定义的函数内退出时会发生什么? …为了更容易,Powershell具有exit关键字 。
当然,正如其他人所指出的那样,通过在函数中包装退出来做你想做的事情并不困难:
PS C:\> function ex{exit} PS C:\> new-alias ^D ex