Message haineux de Mighty Shell

Il y a longtemps, j'ai écrit un script simple qui supprimait tous les sous-répertoires portant des noms donnés dans un répertoire spécifié :

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

Je ne l'ai pas utilisé depuis longtemps, mais maintenant j'en avais besoin. Je le lance - rien n'est supprimé.

"WTF ?", je pense. J'ai commencé à creuser. J'ai tripoté et tripoté, tout parcouru, créé une liste à l'avance et changé les noms - toujours rien n'est supprimé. Finalement, dans leur document je lis : «En fait, -Include est bogué lorsqu'il est utilisé conjointement avec -Recurse, utilisez donc la construction béquille.":

Étant donné que le paramètre Recurse dans Remove-Item présente un problème connu, la commande de cet exemple utilise Get-ChildItem pour obtenir les fichiers souhaités, puis utilise l'opérateur de pipeline pour les transmettre à Remove-Item.

Bon, d'accord, je l'ai réécrit en utilisant cette béquille. Une sacrée affaire : cela ne supprime rien. De plus, Get-ChildItem с -Comprendre renvoie le vide. Encore une fois, peu importe ce que je faisais, peu importe la façon dont je déformais les paramètres, cela ne fonctionnait pas. L'essentiel est avec -Exclure fonctionne, mais avec -Comprendre certainement pas. J'ai passé une journée entière là-dessus : je pensais que quelque part dans les paramètres, je m'étais trompé, que je n'avais pas pris en compte une nuance délicate. Et que s'est-il passé à la fin ? Je les ai installés sur PS7.1 et cela a fonctionné. Il contient même la première option sans béquille utilisant uniquement Retirer l'objet gagné. En général, il s'est avéré que c'était leur bug.

Mais après avoir souffert avec leur Mighty Shell, je suis allé voir Google pour comprendre pourquoi leur shell avait une syntaxe aussi époustouflante. Bon sang, ils le positionnent comme .NET pour la console, mais ils ne sentent même pas la syntaxe C#. Au lieu de lui…

Quoi qu'il en soit, je suis tombé sur cet article : "Ce que je déteste à propos de PowerShell". Comme on dit : « Je ne pourrais pas être plus d'accord. »

Je soupçonne que l'équipe Mighty Shell est un groupe de fans de Bash.

- Créons enfin une console pour Windows dans laquelle vous pourrez écrire des scripts complexes. Sinon, notre cmd est dépassé, à tel point qu'on a déjà un peu honte.
- Allons ! Sur base de quoi allons-nous faire ? Nous avons déjà VBScript, JScript. Enfin, nous avons des langages pour .NET : C#, VB. Peut-être pouvons-nous le faire en C# ? Je veux dire, nous utiliserons C# comme langage de script pour notre console. De plus, nous souhaitons y ajouter des classes .NET.
- Non, qu'est-ce que tu fais, mec, c'est quoi C# ? Les vrais geeks utilisent bash ! Alors créons bash pour Windows. Peu m'importe que la syntaxe de bash ait apparemment été écrite par une foule de hipsters défoncés dans les années 1960. En général, plus c’est complexe, mieux c’est ! L'intuitivité est pour les faibles ! Lorsqu'il écrit un script dans notre langue, l'utilisateur doit maudire tout ce qui existe dans le monde et inventer quelques nouveaux mots maudits. Seule une telle langue a droit à la vie. Écoutez, les utilisateurs de Linux vivent comme ça toute leur vie et en ressentent un frisson inexplicable. Pourquoi sommes-nous pires ?

Seuls les utilisateurs enregistrés peuvent participer à l'enquête. se connecters'il te plait.

Utilisez-vous PowerShell et êtes-vous à l’aise avec ?

  • 30,3%je n'utilise pas 40

  • 29,6%Je l'ai essayé et je ne l'ai pas aimé39

  • 23,5%Je l'utilise et je suis content de tout31

  • 12,9%Je l'utilise, mais je ne suis pas content17

  • 3,8%Hourra! Je peux enfin utiliser mon bash préféré sous Windows !5

132 utilisateurs ont voté. 26 utilisateurs se sont abstenus.

Source: habr.com

Ajouter un commentaire