Post d'odio verso il Potente Shell

Tempo fa ho scritto uno script semplice che elimina tutte le sottodirectory con nomi specifici in una directory data:

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

Non lo usavo da un po', ma avevo bisogno di farlo. Lo avvio e non elimina nulla.

«Cosa sta succedendo?», penso. Ho iniziato a scavare. Ho esaminato tutto, ho creato una lista preliminare, ho cambiato i nomi — eppure non rimuove nulla. Alla fine ho letto nel loro documento: "In effetti, -Include dà problemi quando usato insieme a -Recurse, quindi usate una soluzione alternativa.":

Poiché il parametro Recurse in Remove-Item ha un problema noto, il comando in questo esempio utilizza Get-ChildItem per ottenere i file desiderati e quindi utilizza l'operatore pipeline per passarli a Remove-Item.

Bene, l'ho riscritto utilizzando questa soluzione alternativa. In ogni caso, non elimina nulla. Inoltre, Get-ChildItem con -Include restituisce un vuoto. Di nuovo, non importa cosa facessi o come modificassi i parametri — non funziona. La cosa sorprendente è che con -Exclude funziona, ma con -Include non riesco. Ho sprecato un'intera giornata su questo: continuavo a pensare che ci fosse qualcosa di sbagliato nei parametri, che non avessi considerato qualche particolare strano. E cosa è successo alla fine? Ho installato PS7.1 — e qui ha funzionato. Funziona addirittura il primo esempio senza problemi utilizzando solo Rimuovi-Elemento ha funzionato. In generale, si trattava di un loro bug.

Ma dopo aver lottato con il loro Poderoso Shell, sono andato su Google per capire perché il loro shell avesse una sintassi così complessa. Davvero, lo posizionano come .NET per la console, ma la sintassi C# non si avverte nemmeno. Invece...

Insomma, mi sono imbattuto in un articolo del genere: "Cosa Odio di PowerShell". Come si suol dire: «Non potrei essere più d'accordo.»

Sospetto che il team di PowerShell sia un gruppo di appassionati di Bash.

— Diamo finalmente vita a una console per Windows in cui si possano scrivere script complessi. Altrimenti il nostro cmd è così obsoleto che un po' ci fa vergognare.
— Facciamolo! Su cosa ci baseremo? Abbiamo già VBScript, JScript. Infine, abbiamo linguaggi per .NET: C#, VB. Forse lo faremo in C#? Nel senso che useremo C# come linguaggio per gli script della nostra console. Del resto, vogliamo integrare le classi .NET.
— Ma dai, scherzi? Quale C#? I veri geek usano bash! Facciamoci bash per Windows. Non importa che la sintassi di bash sia stata scritta, a quanto pare, da una banda di hipster stonati negli anni '60. Insomma, più è complicato, meglio è! L'intuitività è per i deboli! Scrivendo uno script nel nostro linguaggio, l'utente deve inevitabilmente maledire tutto il mondo e inventare un paio di nuovi insulti. Solo un linguaggio del genere merita di esistere. I Linuxari vivono così da sempre e ci trovano un godimento incomprensibile. E noi non siamo da meno!

Solo gli utenti registrati possono partecipare al sondaggio. Accedi, per favore.

Utilizzi PowerShell e ti soddisfa?

  • 30,3%Non lo uso

  • 29,6%Ho provato — non mi è piaciuto

  • 23,5%Lo uso e sono soddisfatto

  • 12,9%Lo uso, ma non sono soddisfatto

  • 3,8%Eviva! Finalmente posso usare il mio amato bash su Windows!

132 utenti hanno votato. 26 utenti si sono astenuti.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster