Post z nienawiścią do Mighty Shell

Dawno temu napisałem prosty skrypt, który usuwał wszystkie podkatalogi o podanych nazwach w określonym katalogu:

Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue

Długo go nie używałem, ale teraz był mi potrzebny. Uruchamiam - nic nie zostaje usunięte.

„WTF?” – myślę. Zacząłem kopać. Bawiłem się i bawiłem, przejrzałem wszystko, utworzyłem wcześniej listę i zmieniłem nazwiska - nadal nic nie zostało usunięte. Wreszcie w ich dokumencie przeczytałem: „W rzeczywistości opcja -Include jest błędna, gdy jest używana w połączeniu z -Recurse, więc użyj konstrukcji kulowej.":

Ponieważ występuje znany problem z parametrem Recurse w Remove-Item, polecenie w tym przykładzie używa Get-ChildItem do pobrania żądanych plików, a następnie używa operatora potoku do przekazania ich do Remove-Item.

No cóż, przepisałem to, używając tej kuli. Świetna sprawa – niczego nie usuwa. Ponadto, Get-ChildItem с -Włączać zwraca pustkę. Powtórzę raz jeszcze: niezależnie od tego, co zrobiłem, niezależnie od tego, jak zniekształciłem parametry, to nie zadziałało. Najważniejsze jest z -Wykluczać działa, ale z -Włączać nie ma mowy. Spędziłem nad tym cały dzień: ciągle myślałem, że gdzieś w parametrach coś schrzaniłem, że nie wziąłem pod uwagę jakiegoś skomplikowanego niuansu. I co się w końcu stało? Zainstalowałem je na PS7.1 i zadziałało. Zawiera nawet pierwszą opcję bez kuli, używając tylko Usuń przedmiot zarobione. Ogólnie okazało się, że to ich błąd.

Ale ponieważ cierpiałem z powodu ich Mighty Shell, udałem się do Google, aby przeczytać, dlaczego ich powłoka ma tak oszałamiającą składnię. Cholera, ustawiają go jako .NET dla konsoli, ale nawet nie czują składni C#. Zamiast niego…

W każdym razie natknąłem się na ten artykuł: „Czego nienawidzę w PowerShellu„. Jak to mówią: „Nie mógłbym się bardziej zgodzić”.

Podejrzewam, że zespół Mighty Shell to grono fanów Basha.

- Zróbmy wreszcie konsolę dla Windows, w której będziesz mógł pisać złożone skrypty. W przeciwnym razie nasze cmd jest przestarzałe, do tego stopnia, że ​​​​jesteśmy już trochę zawstydzeni.
- Zróbmy! Na podstawie tego, co zrobimy? Mamy już VBScript, JScript. Wreszcie mamy języki dla .NET: C#, VB. Może uda nam się to zrobić w C#? To znaczy, będziemy używać C# jako języka skryptowego dla naszej konsoli. Ponadto chcemy tam dodać klasy .NET.
- Nie, co robisz, koleś, jaki C#? Prawdziwi maniacy używają basha! Stwórzmy więc bash dla Windows. Nie obchodzi mnie, że składnię basha najwyraźniej napisał tłum naćpanych hipsterów w latach sześćdziesiątych. Ogólnie rzecz biorąc, im bardziej skomplikowane, tym lepiej! Intuicja jest dla słabych! Pisząc skrypt w naszym języku, użytkownik musi przekląć wszystko na świecie i wymyślić kilka nowych przekleństw. Tylko taki język ma prawo do życia. Spójrz, ludzie z Linuksem żyją w ten sposób przez całe życie i czerpią z tego niewytłumaczalny dreszczyk emocji. Dlaczego jesteśmy gorsi?

W ankiecie mogą brać udział tylko zarejestrowani użytkownicy. Zaloguj się, Proszę.

Czy korzystasz z PowerShell i czy czujesz się z tym komfortowo?

  • 30,3%Nie używam 40

  • 29,6%Spróbowałem i nie przypadło mi do gustu 39

  • 23,5%Używam go i jestem zadowolony ze wszystkiego31

  • 12,9%Używam, ale nie jestem zadowolony17

  • 3,8%Brawo! Nareszcie mogę używać mojego ulubionego basha na Windowsie!5

Głosowało 132 użytkowników. 26 użytkowników wstrzymało się od głosu.

Źródło: www.habr.com

Dodaj komentarz