If-Koubou

Dlaczego polecenia Windows PowerShell nazywają się Cmdlets?

Dlaczego polecenia Windows PowerShell nazywają się Cmdlets? (Jak)

Podczas pracy z Windows PowerShell mógł pojawić się termin cmdlet i okazało się nieco zdezorientowany. Czy cmdlet jest czymś zupełnie innym od polecenia, czy jest to dla nich tylko nazwa PowerShell? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser RBT chce wiedzieć, dlaczego polecenia Windows PowerShell są nazywane cmdletami:

Próbowałem dowiedzieć się nomenklatury, dlaczego polecenia są nazywane command-lets (cmdlets) w PowerShell. Dlaczego nie nazywają się po prostu komendami? Jaka jest różnica?

Mogę tylko zgadywać na podstawie tego artykułu z Wikipedii o PowerShellu, że może on w jakiś sposób być skrótem interfejsu wiersza poleceń do interakcji z poleceniami napisanymi w .Net.

Dlaczego polecenia programu Windows PowerShell są nazywane cmdletami?

Odpowiedź

Pomocnik SuperUser LotPings ma dla nas odpowiedź:

Według Microsoft:

Polecenie cmdlet to lekkie polecenie używane w środowisku Windows PowerShell. Środowisko wykonawcze środowiska Windows PowerShell wywołuje te polecenia cmdlet w kontekście skryptów automatyzacji dostarczanych w wierszu polecenia. Środowisko wykonawcze środowiska Windows PowerShell również wywołuje je programowo za pomocą interfejsów API Windows PowerShell.

Czym różnią się cmdlety od poleceń

Polecenia cmdlet różnią się od poleceń w innych środowiskach powłoki poleceń w następujący sposób:

  • Cmdlets są instancjami klasy .NET Framework; nie są samodzielnymi plikami wykonywalnymi.
  • Polecenia cmdlet można utworzyć z zaledwie kilku linii kodu.
  • Polecenia cmdlet generalnie nie wykonują własnej analizy składniowej, prezentacji błędów ani formatowania wyjściowego. Analiza składniowa, prezentacja błędów i formatowanie wyjściowe są obsługiwane przez środowisko wykonawcze Windows PowerShell.
  • Polecenia cmdlet przetwarzają obiekty wejściowe z potoku, a nie ze strumieni tekstu, a polecenia cmdlet zwykle dostarczają obiekty jako dane wyjściowe do potoku.
  • Polecenia cmdlet są zorientowane na rekordy, ponieważ przetwarzają pojedynczy obiekt naraz.

Źródło: Omówienie Cmdlet [Microsoft]

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.