Poderosa publicación de odio de Shell

Hace mucho tiempo escribí un script simple que eliminaba todos los subdirectorios con nombres de pila en un directorio específico:

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

Hace mucho que no lo uso, pero ahora lo necesitaba. Lo ejecuto y no se elimina nada.

“¿Qué carajo?”, pienso. Empecé a cavar. Jugueteé y jugueteé, revisé todo, creé una lista de antemano y cambié los nombres; todavía no se eliminó nada. Finalmente, en su documento leo: "En realidad, -Include tiene errores cuando se usa junto con -Recurse, así que use la construcción muleta.":

Debido a que el parámetro Recurse en Remove-Item tiene un problema conocido, el comando en este ejemplo usa Get-ChildItem para obtener los archivos deseados y luego usa el operador de canalización para pasarlos a Remove-Item.

Bueno, está bien, lo reescribí usando esta muleta. Un gran trato: no elimina nada. Además, Get-ChildItem с -Incluir devuelve el vacío. Nuevamente, no importa lo que hice, no importa cuánto distorsioné los parámetros, no funcionó. Lo principal es con -Excluir funciona, pero con -Incluir de ninguna manera. Pasé un día entero en esto: seguía pensando que en algún lugar de los parámetros me había equivocado, que no había tenido en cuenta algún matiz complicado. ¿Y qué pasó al final? Los instalé en PS7.1 y funcionó. Incluso contiene la primera opción sin muletas usando solo Remover el artículo ganado. En general, resultó ser su error.

Pero después de haber sufrido con su Mighty Shell, fui a Google para leer por qué su shell tiene una sintaxis tan alucinante. Joder, lo posicionan como .NET para consola, pero ni siquiera huelen la sintaxis de C#. En lugar de él…

De todos modos, me encontré con este artículo: "Lo que odio de PowerShell". Como dicen: “No podría estar más de acuerdo”.

Sospecho que el equipo de Mighty Shell son un grupo de fanáticos de Bash.

- Finalmente creemos una consola para Windows en la que puedas escribir scripts complejos. De lo contrario, nuestro cmd está desactualizado, hasta el punto de que ya nos da un poco de vergüenza.
- ¡Vamos! ¿En base a qué haremos? Ya tenemos VBScript, JScript. Por último, tenemos lenguajes para .NET: C#, VB. ¿Quizás podamos hacerlo en C#? Quiero decir, usaremos C# como lenguaje de programación para nuestra consola. Además, queremos agregar clases .NET allí.
- No, ¿qué haces amigo, qué C#? ¡Los verdaderos geeks usan bash! Así que hagamos bash para Windows. No me importa que la sintaxis de bash aparentemente haya sido escrita por una multitud de hipsters drogados allá por los años 1960. En general, ¡cuanto más complejo, mejor! ¡La intuitividad es para los débiles! Al escribir un guión en nuestro idioma, el usuario debe maldecir todo en el mundo e inventar un par de malas palabras nuevas. Sólo una lengua así tiene derecho a la vida. Mire, la gente de Linux vive así toda su vida y siente una emoción inexplicable por todo ello. ¿Por qué somos peores?

Solo los usuarios registrados pueden participar en la encuesta. Registrarsepor favor

¿Utilizas PowerShell y te sientes cómodo con él?

  • 30,3%no uso40

  • 29,6%Lo probé y no me gustó39

  • 23,5%Lo uso y estoy contento con todo31

  • 12,9%Lo uso, pero no estoy contento17

  • 3,8%¡Hurra! ¡Finalmente puedo usar mi bash favorito en Windows!5

132 usuarios votaron. 26 usuarios se abstuvieron.

Fuente: habr.com

Añadir un comentario