Powershell 7: eksperymentujemy #5

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.

5 komentarzy

  1. 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 😉

    1. 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…

  2. 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?

    1. 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.

      😉

Leave a Comment

Twój adres e-mail nie zostanie opublikowany.