PowerShell od początku cz.2
25.05.17r.
Kontynuujemy naszą przygodę z PowerShell, analizując wbudowane hosty CLI w systemie operacyjnym. Porównujemy funkcjonalności standardowej konsoli PowerShell z zaawansowanym środowiskiem PowerShell ISE, które oferuje rozszerzone możliwości IntelliSense, ułatwiające pisanie i debugowanie skryptów.
W poprzedniej części naszych rozważań na temat
PowerShell zajmowaliśmy się znajdowaniem, która wersja jest zainstalowana na naszym komputerze oraz wprowadziliśmy pierwszy cmdlet Write-Host.
Zanim przystąpimy do omawiania składni, przyjrzyjmy się wbudowanym w systemie operacyjnym hostom CLI (command-line interface).
Pierwszy z nich to PowerShell – np. w Windows 10 znajdziemy go jako aplikację Windows
PowerShell
Sporo funkcjonalności jest tu podobnych do znanego chyba wszystkim Command Prompt. Porównajmy chociażby podstawowe menu:
Jak widać, jeżeli znamy zasady posługiwania się oknem poleceń, konsola PowerShell nie będzie stanowić dla nas żadnego problemu. Host PowerShell ma jednak pewną wartość dodaną – skromny IntelliSense. Załóżmy, że chcemy wprowadzić cmdlet Write-Host. Jeżeli wprowadzę „Write-H” i wykorzystam tabulator, to reszta polecenia Write-Host zostanie automatycznie uzupełniona. Niewątpliwie może to przyspieszyć wprowadzanie poleceń, pozwala na uniknięcie tzw. „literówek” oraz przypomina (przynajmniej w niewielkim stopniu) składnię. W przytoczonym powyżej przykładzie podpowiedź była jednoznaczna dlatego, że wprowadziliśmy spory fragment tekstu związanego z przygotowywanym cmdlet. Gdybyśmy jednak napisali tylko „Write” i nacisnęli klawisz TAB to wtedy zobaczymy inne podpowiedzi i dopiero prawdopodobnie dziesiąte naciśnięcie tabulacji pokaże nam oczekiwany Write-Host. Podpowiedzi może być więcej jeżeli w bieżącym folderze znajdzie się np. plik write.exe albo write.ps1.
Drugi host to PowerShell Integrated Scripting Environment (PowerShellI ISE). W Windows 10 znajdziemy go jako aplikację o nazwie Windows PowerShell ISE.
Na początek porównajmy działanie „podpowiadacza”
Po wpisaniu w górnym lewym panelu (Script Pane) tekstu „Write-„ zobaczymy na ekranie
Gdy dopiszemy jeszcze literę H („Write-H”) podpowiedź będzie już bardziej jednoznaczna
Jak widać z listy możliwości został wskazany cmdlet Write-Host, w dodatku została wyświetlona informacja na temat jego składni. Wystarczy teraz wykorzystać tabulator i cmdlet zostanie wpisany
Zgodzimy się chyba wszyscy, że możliwości IntelliSense w PowerShell ISE są zdecydowanie większe, aniżeli w przypadku pierwszego z omawianych dzisiaj hostów.
W kolejnej części zajmiemy się bardziej szczegółowym omówieniem drugiego z przedstawionych dzisiaj hostów
---------------------------------------
Autor:
Adam Rynarzewski - MCT, MCSE