Príspevok Mighty Shell Hate

Už dávno som napísal jednoduchý skript, ktorý odstránil všetky podadresáre s danými názvami v zadanom adresári:

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

Dlho som ho nepoužíval, ale teraz som ho potreboval. Spustím to - nič sa nevymaže.

"WTF?", myslím. Začal som kopať. Flákala som a fičala, všetko som si prešla, vytvorila vopred zoznam a menila mená – stále sa nič nevymazáva. Nakoniec v ich dokumente čítam:V skutočnosti je -Include chybné, keď sa používa v spojení s -Recurse, takže použite konštrukciu berličky.":

Pretože parameter Recurse v Remove-Item má známy problém, príkaz v tomto príklade používa Get-ChildItem na získanie požadovaných súborov a potom používa operátor potrubia na ich odovzdanie Remove-Item.

Dobre, prepísal som to pomocou tejto barličky. Skvelá dohoda – nič nevymaže. navyše Get-ChildItem с - Zahrnúť vracia prázdnotu. Opäť, bez ohľadu na to, čo som urobil, bez ohľadu na to, ako som skreslil parametre, nefungovalo to. Hlavná vec je s -Vylúčiť funguje, ale s - Zahrnúť v žiadnom prípade. Strávil som nad tým celý deň: stále som si myslel, že niekde v parametroch som to pokazil, že som nezohľadnil nejakú záludnú nuanciu. A čo sa nakoniec stalo? Nainštaloval som ich na PS7.1 a fungovalo to. Dokonca obsahuje aj prvú bezbariérovú možnosť iba pomocou Odstrániť položku zarobené. Vo všeobecnosti sa ukázalo, že je to ich chyba.

Ale keďže som trpel s ich Mighty Shell, išiel som na Google, aby som si prečítal, prečo má ich shell takú ohromujúcu syntax. Sakra, umiestnili to ako .NET pre konzolu, ale ani necítia syntax C#. Namiesto neho…

Každopádne som narazil na tento článok: "Čo nenávidím na PowerShell". Ako sa hovorí: "Nemohol som viac súhlasiť."

Mám podozrenie, že tím Mighty Shell je banda fanúšikov Bash.

- Poďme konečne urobiť konzolu pre Windows, v ktorej môžete písať zložité skripty. Inak je náš cmd zastaraný, až sa nám to trochu hanbí.
- Poďme! Na základe čoho budeme robiť? Už máme VBScript, JScript. Nakoniec tu máme jazyky pre .NET: C#, VB. Možno to dokážeme v C#? Myslím tým, že použijeme C# ako skriptovací jazyk pre našu konzolu. Navyše tam chceme pridať .NET triedy.
- Nie, čo robíš, kámo, aké C#? Skutoční geekovia používajú bash! Takže urobme bash pre Windows. Je mi jedno, že syntax pre bash zrejme napísal dav ukamenených hipsterov v šesťdesiatych rokoch. Vo všeobecnosti platí, že čím zložitejšie, tým lepšie! Intuitívnosť je pre slabochov! Pri písaní skriptu v našom jazyku musí používateľ prekliať všetko na svete a vymyslieť pár nových nadávok. Len taký jazyk má právo na život. Pozrite, ľudia s Linuxom takto žijú celý svoj život a majú z toho všetkého nevysvetliteľné vzrušenie. Prečo sme horší?

Do prieskumu sa môžu zapojiť iba registrovaní užívatelia. Prihlásiť saProsím.

Používate PowerShell a vyhovuje vám?

  • 30,3%Nepoužívam 40

  • 29,6%Skúsil som to a nepáčilo sa mi to 39

  • 23,5%Používam ho a som spokojný so všetkým31

  • 12,9%Používam to, ale nie som spokojný17

  • 3,8%Hurá! Konečne môžem použiť svoj obľúbený bash na Windows!5

Hlasovalo 132 užívateľov. 26 užívateľov sa zdržalo hlasovania.

Zdroj: hab.com

Pridať komentár