Почему команды powershell называются командлетами (команда let) и в чем разница между командой и командой let?

1097
RBT

Я пытался выяснить номенклатуру вызова команд в powershell как command-let (cmdlet). Почему они просто не называются командами (в чем разница?). На этой странице википедии я мог только догадываться, что это может быть как-то аббревиатура интерфейса командной строки для взаимодействия с командами, написанными в Microsoft .NET.

РЕДАКТИРОВАТЬ : я нашел интересную связанную тему - командлет Powershell против. NET класса

1
[Командлет - это легкая команда] (https://msdn.microsoft.com/en-us/library/ms714395 (v = vs.85) .aspx) LotPings 7 лет назад 0
Этимология вопрос? Это не по теме на этом сайте. 7 лет назад 0
@LotPings Пожалуйста, преобразуйте свой комментарий в ответ. DavidPostill 7 лет назад 1
@FleetCommand Я бы сказал, что это не по теме, так как в документах MS есть четкий ответ. DavidPostill 7 лет назад 2
@DavidPostill И что? Много не по теме материалов в документации Microsoft. 7 лет назад 0
@FleetCommand, у вас есть точка зрения, что этимология выходит за рамки области сайта, и такие вопросы часто закрыты. В этом случае вопрос сочетался с тем, что с чем-то по-теме (по крайней мере, на мой взгляд) разница между командой и командлетом. Я удалил часть этимологии, чтобы сделать вопрос более ясным по теме, и потому что он не является критическим для основного вопроса. fixer1234 7 лет назад 1
Что касается этиологической стороны вопроса, я бы начал с изучения слова «апплет», которое встречалось ранее. Walter Mitty 7 лет назад 0
@ fixer1234 Спасибо за соответствующее редактирование. Это помогло пережить мой вопрос и любопытство. RBT 7 лет назад 0
@RBT Правильное слово «спаси свой вопрос», а не «выжить». «Чтобы пережить твой вопрос» означает, что ты умрешь, а твой вопрос останется после. 7 лет назад 0
:) Я недавно присоединился к [этому] (http://english.stackexchange.com/) сообществу. Я уверен, что сейчас поправлюсь. RBT 7 лет назад 0

1 ответ на вопрос

5
LotPings

По словам Microsoft:

Командлет представляет собой облегченную команда, которая используется в среде Windows PowerShell. Среда выполнения Windows PowerShell вызывает эти командлеты в контексте сценариев автоматизации, которые предоставляются в командной строке. Среда выполнения Windows PowerShell также вызывает их программно через API-интерфейсы Windows PowerShell.

Чем командлеты отличаются от команд

Командлеты отличаются от команд в других средах командной оболочки следующими способами:

  • Командлеты являются экземплярами классов .NET Framework; они не являются автономными исполняемыми файлами.

  • Командлеты могут быть созданы всего из десятка строк кода.

  • Командлеты обычно не выполняют собственный синтаксический анализ, представление ошибок или форматирование вывода. Разбор, представление ошибок и форматирование вывода обрабатываются средой выполнения Windows PowerShell.

  • Командлеты обрабатывают входные объекты из конвейера, а не из потоков текста, а командлеты обычно доставляют объекты в виде вывода в конвейер.

  • Командлеты ориентированы на запись, потому что они обрабатывают один объект за раз.