Wpis kończący serię o nowym Powershell.
Obsługa błędów w poprzednich wersjach PS była całkiem niezła. Jest try-catch, jest -ErrorAction, wreszcie jest zmienna $Error ze wszystkimi błędami, które do tej pory udało nam się wygenerować (zarówno krytycznymi jak i niekrytycznymi).
W wersji 7 pojawiła się jeszcze jedna komenda: Get-Error.
Proszę sobie spróbować podzielić przez zero albo wykonać Test-Connection do nieistniejącego adresu dns a potem uruchomić Get-Error:
Mnóstwo interesujących informacji na temat błędu; jest nawet konkretna lokalizacja (numer linii, pozycja w linii), w której błąd się pojawił.
Dla mnie osobiście najwygodniejsze jest tu to, że Get-Error w szybki sposób zwraca szczegóły *ostatniego* błędu w ładny, czytelny sposób. Co prawda wszystkie te informacje dało się wyciągnąć w poprzednich wersjach, ale wymagały nieco wygibasów. A tu - wszystko jak na tacy.
Na zakończenie dodam jeszcze, że tych pięć wpisów o Powershell 7 bynajmniej nie wyczerpuje wszystkich nowości w tej wersji. Opisałem tylko te, które społeczność zgromadzona wokół PS uznała za najbardziej przydatne.
SIemanko 😉
Ostatnio konfigurowałem sobie nowy sprzecik do pracy i po raz pierwszy pokochałem Chocolatey (instalacja na wzór z linuksa). Do takiego stopnia ze nawet zainteresowałem sie powershellem…
Ale zaczałem wertować PS’a, choćby szukać odpowiednika polecenia
rm -rf
do usuniecia tymczasowych katalogów w projektach, to niestety … przegrałem. zainstalowałem GOW (https://chocolatey.org/packages/Gow
) dzieki temu mam 150+ znanych z linuska poleceń pod CMD czy PS 😉Kurde … chciałoby sie zapoznać PS od prawilnej strony 😉
Ave! Jedyny słuszny sposób na poznanie nowej technologii w świecie IT to potrzeba jej komercyjnego użycia. Na przykład w pracy. Tzn. przynajmniej tak to u mnie wyglądało przez ostatnich 30 lat życia zawodowego…
Dlatego ograniczam sie do tych stricte linuksowych komend 😀 bo sa uniwersalne.
Szkoda, że składnia Powershella jest chora umysłowo. Próbowałem kiedyś napisać prosty skrypt, ale poległem. Nie ogarnąłem zmiennych, tablic, pętli itd. Czy to nie mogłoby choć trochę przypominać zwyczajnego języka programowania pokroju C++ albo Pythona?
Haha, nie jesteś jedynym, który nie lubi składni PS. Też uważam, że mogliby to zrobić nieco bardziej elegancko, z drugiej strony sam jeszcze nie załapałem do końca wszystkich elementów składni takiego, dajmy na to, Pythona (nie mówię o bibliotekach tylko o samym języku), więc wszędzie można znaleźć trudniejsze kawałki.
Z drugiej strony PS ma kilka unikalnych cech, których nie znalazłem w żadnym innym popularnym shellu. Na przykład intellisense do parametrów albo natywna obsługa .Net z poziomu wiersza poleceń.
Ja PS lubię bo jest wbudowany, bo ma za sobą ogromną społeczność, bo jest kompatybilny z Windows i Linuksami, ale najważniejsze: BO TAK.
😉