为什么exit无法被Get-Command识别为PowerShell命令?
PowerShell 中
exit 的语法类型说明 exit 属于 PowerShell 内置的语言关键字(Language Keyword),不属于 cmdlet、函数、别名、外部程序这类可被 Get-Command 检索的命令类型,所以会出现你遇到的查询报错情况。
和 exit 同属语言关键字的还有 if、for、return、break、continue 等常用语法标识,这类关键字由 PowerShell 解析器直接识别处理,不需要走命令检索的流程,因此 Get-Command 和 Get-Alias 无法检索到对应结果。
补充说明
- 你可以执行
Get-Help about_Language_Keywords查看 PowerShell 全量内置语言关键字清单,exit明确包含在该清单中 exit不同场景下的作用:- 交互式会话中执行:直接结束当前整个 PowerShell 进程
- 脚本内部执行:默认终止当前脚本运行,携带参数时(如
exit 1)可向父进程返回指定退出码 - 远程
PSSession交互式环境中执行:断开当前远程会话,回到本地 PowerShell 环境
你遇到的报错属于正常行为,不是环境配置问题:
Get-Command exit # ==> The term 'exit' is not recognized as the name of a cmdlet.... Get-Alias exit # ===> This command cannot find a matching alias....
内容的提问来源于stack exchange,提问作者codewario
相关产品推荐
相关产品推荐

