
Podczas pracy z programem Windows PowerShell możesz natknąć się na termin cmdlet i poczuć się nieco zdezorientowany. Czy cmdlet jest czymś zupełnie innym niż polecenie, 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 — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser RBT chce wiedzieć, dlaczego polecenia Windows PowerShell nazywane są cmdletami:
Próbowałem zrozumieć nazewnictwo, dlaczego polecenia są nazywane poleceniami (cmdletami) w PowerShell. Dlaczego zamiast tego nie nazywa się ich po prostu poleceniami? Jaka jest różnica?
Mogłem tylko zgadywać na podstawie tego Artykuł w Wikipedii o PowerShell, że może to być skrót od interfejsu wiersza poleceń do interakcji z poleceniami napisanymi w .Net.
Dlaczego polecenia programu Windows PowerShell są nazywane cmdletami?
Odpowiedź
Współtwórca SuperUser LotPings ma dla nas odpowiedź:
Według Microsoftu:
Polecenie cmdlet to lekkie polecenie używane w środowisku Windows PowerShell. Środowisko uruchomieniowe Windows PowerShell wywołuje te polecenia cmdlet w kontekście skryptów automatyzacji dostępnych w wierszu polecenia. Środowisko uruchomieniowe Windows PowerShell również wywołuje je programowo za pośrednictwem interfejsów API Windows PowerShell.
Jak cmdlety różnią się od poleceń
Polecenia cmdlet różnią się od poleceń w innych środowiskach powłoki poleceń w następujący sposób:
- Polecenia cmdlet to instancje klas .NET Framework; nie są samodzielnymi plikami wykonywalnymi.
- Polecenia cmdlet można tworzyć z zaledwie kilkunastu linijek kodu.
- Polecenia cmdlet zazwyczaj nie przeprowadzają własnego analizowania, prezentacji błędów ani formatowania danych wyjściowych. Analiza, prezentacja błędów i formatowanie danych wyjściowych są obsługiwane przez środowisko uruchomieniowe Windows PowerShell.
- Polecenia cmdlet przetwarzają obiekty wejściowe z potoku, a nie ze strumieni tekstu, a polecenia cmdlet zazwyczaj dostarczają obiekty jako dane wyjściowe do potoku.
- Polecenia cmdlet są zorientowane na rekordy, ponieważ przetwarzają pojedynczy obiekt naraz.
Źródło: Przegląd poleceń cmdlet [Microsoft]
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.