![为什么powershell命令叫做cmdlets(command lets)以及command和command-let有什么区别?](https://linux22.com/image/1526557/%E4%B8%BA%E4%BB%80%E4%B9%88powershell%E5%91%BD%E4%BB%A4%E5%8F%AB%E5%81%9Acmdlets(command%20lets)%E4%BB%A5%E5%8F%8Acommand%E5%92%8Ccommand-let%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我试图弄清楚在 powershell 中调用命令的命名法,即 command-let (cmdlet)。为什么它们只是不是称为命令(有什么区别?)。我只能猜测这维基百科页面,这可能在某种程度上是命令行界面的缩写,用于与用 Microsoft .NET 编写的命令进行交互。
编辑:我发现了一个有趣的相关帖子 -Powershell cmdlet 与 .NET 类
答案1
据微软称:
Acmdlet 是一个轻量级命令在 Windows PowerShell 环境中使用。Windows PowerShell 运行时在命令行提供的自动化脚本上下文中调用这些 cmdlet。Windows PowerShell 运行时还通过 Windows PowerShell API 以编程方式调用它们。
Cmdlet 与命令的区别
Cmdlet 与其他命令 shell 环境中的命令有以下区别:
Cmdlet 是 .NET Framework 类的实例;它们不是独立的可执行文件。
仅用十几行代码即可创建 Cmdlet。
Cmdlet 通常不会自行进行解析、错误显示或输出格式化。解析、错误显示和输出格式化由 Windows PowerShell 运行时处理。
Cmdlet 处理来自管道而不是文本流的输入对象,并且 Cmdlet 通常将对象作为输出传递到管道。
Cmdlet 是面向记录的,因为它们每次处理一个对象。