Mighty Shell Hate Post

För länge sedan skrev jag ett enkelt skript som raderade alla underkataloger med givna namn i en specificerad katalog:

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

Jag har inte använt den på länge, men nu behövde jag den. Jag startar den - ingenting raderas.

"WTF?", tänker jag. Jag började gräva. Jag pillade och pillade, gick igenom allt, skapade en lista i förväg och bytte namn – fortfarande är ingenting raderat. Slutligen, i deras dokument läste jag: "Egentligen är -Include buggy när den används i kombination med -Recurse, så använd kryckkonstruktionen.":

Eftersom Rekurs-parametern i Remove-Item har ett känt problem, använder kommandot i det här exemplet Get-ChildItem för att hämta de önskade filerna och använder sedan pipeline-operatören för att skicka dem till Remove-Item.

Okej, jag skrev om det med den här kryckan. En jäkla affär - det tar inte bort någonting. Dessutom, Get-ChildItem с -Omfatta ger tillbaka tomheten. Återigen, oavsett vad jag gjorde, oavsett hur jag förvrängde parametrarna, fungerade det inte. Huvudsaken är med -Utesluta fungerar, men med -Omfatta aldrig. Jag ägnade en hel dag åt det här: jag tänkte hela tiden att någonstans i parametrarna hade jag skruvat ihop, att jag inte hade tagit hänsyn till någon knepig nyans. Och vad hände till slut? Jag installerade dem på PS7.1 och det fungerade. Den innehåller till och med det första alternativet utan kryckor med endast Ta bort sak tjänade. I allmänhet visade det sig vara deras bugg.

Men efter att ha lidit med deras Mighty Shell, gick jag till Google för att läsa varför deras skal har en så häpnadsväckande syntax. Fan, de placerar det som .NET för konsolen, men de luktar inte ens C#-syntax. Istället för honom...

Hur som helst, jag kom över den här artikeln: "Vad jag hatar med PowerShell". Som de säger: "Jag kunde inte hålla med mer."

Jag misstänker att Mighty Shell-teamet är ett gäng Bash-fans.

– Låt oss äntligen göra en konsol för Windows där du kan skriva komplexa skript. Annars är vår cmd föråldrad, så pass att vi redan skäms lite.
- Låt oss! Baserat på vad ska vi göra? Vi har redan VBScript, JScript. Slutligen har vi språk för .NET: C#, VB. Kanske kan vi göra det i C#? Jag menar, vi kommer att använda C# som skriptspråk för vår konsol. Dessutom vill vi lägga till .NET-klasser där.
- Nej, vad gör du, grabb, vilken C#? Riktiga nördar använder bash! Så låt oss göra bash för Windows. Jag bryr mig inte om att syntaxen för bash uppenbarligen skrevs av en skara stenade hipsters på 1960-talet. I allmänhet, ju mer komplex desto bättre! Intuitivitet är för svaga! När man skriver ett manus på vårt språk måste användaren förbanna allt i världen och hitta på ett par nya förbannelseord. Endast ett sådant språk har rätt till liv. Titta, Linux-människor lever så här hela livet och får en oförklarlig spänning av det hela. Varför är vi sämre?

Endast registrerade användare kan delta i undersökningen. Logga in, Snälla du.

Använder du PowerShell och är du bekväm med det?

  • 30,3%Jag använder inte 40

  • 29,6%Jag provade det och gillade det inte39

  • 23,5%Jag använder den och är nöjd med allt31

  • 12,9%Jag använder det, men jag är inte nöjd17

  • 3,8%Hurra! Äntligen kan jag använda min favoritbash på Windows!5

132 användare röstade. 26 användare avstod från att rösta.

Källa: will.com

Lägg en kommentar