Postagem de ódio da poderosa Shell

Há muito tempo, escrevi um script simples que excluía todos os subdiretórios com nomes próprios em um diretório especificado:

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

Faz muito tempo que não uso, mas agora precisava. Eu lanço - nada é excluído.

“O que é isso?”, eu penso. Comecei a cavar. Eu brinquei e brinquei, revisei tudo, criei uma lista com antecedência e mudei os nomes - ainda nada foi excluído. Finalmente, no documento deles li: "Na verdade, -Include apresenta erros quando usado em conjunto com -Recurse, então use a construção muleta.":

Como o parâmetro Recurse em Remove-Item tem um problema conhecido, o comando neste exemplo usa Get-ChildItem para obter os arquivos desejados e, em seguida, usa o operador de pipeline para passá-los para Remove-Item.

Bem, ok, eu reescrevi usando esta muleta. Um ótimo negócio - não exclui nada. Além disso, Get-ChildItem с -Incluir retorna o vazio. Novamente, não importa o que eu fiz, não importa o quanto distorci os parâmetros, não funcionou. O principal é com -Excluir funciona, mas com -Incluir sem chance. Passei um dia inteiro nisso: fiquei pensando que em algum lugar dos parâmetros eu estraguei, que não levei em conta alguma nuance complicada. E o que aconteceu no final? Instalei-os no PS7.1 e funcionou. Ele ainda contém a primeira opção sem muleta usando apenas Remover item merecido. Em geral, acabou sendo o bug deles.

Mas tendo sofrido com o Mighty Shell, fui ao Google para ler por que o shell deles tem uma sintaxe tão alucinante. Droga, eles o posicionam como .NET para o console, mas nem sequer sentem o cheiro da sintaxe C#. Em vez dele…

De qualquer forma, me deparei com este artigo: "O que eu odeio no PowerShell". Como se costuma dizer: “Não poderia estar mais de acordo.”

Suspeito que a equipe do Mighty Shell seja um bando de fãs do Bash.

- Vamos finalmente criar um console para Windows no qual você possa escrever scripts complexos. Caso contrário, nosso cmd está desatualizado, tanto que já ficamos com um pouco de vergonha.
- Vamos! Com base no que faremos? Já temos VBScript, JScript. Por fim, temos linguagens para .NET: C#, VB. Talvez possamos fazer isso em C#? Quero dizer, usaremos C# como linguagem de script para nosso console. Além disso, queremos adicionar classes .NET lá.
- Não, o que você está fazendo cara, que C#? Geeks de verdade usam o bash! Então vamos fazer o bash para Windows. Não me importa que a sintaxe do bash tenha sido aparentemente escrita por uma multidão de descolados chapados na década de 1960. Em geral, quanto mais complexo melhor! A intuição é para os fracos! Ao escrever um script em nosso idioma, o usuário deve amaldiçoar tudo no mundo e inventar alguns novos palavrões. Somente tal linguagem tem direito à vida. Olha, o pessoal do Linux vive assim a vida toda e sente uma emoção inexplicável com tudo isso. Por que estamos piores?

Apenas usuários registrados podem participar da pesquisa. Entrarpor favor

Você usa o PowerShell e se sente confortável com ele?

  • 30,3%eu não uso40

  • 29,6%Experimentei e não gostei39

  • 23,5%Eu uso e estou feliz com tudo31

  • 12,9%Eu uso, mas não estou feliz17

  • 3,8%Viva! Finalmente posso usar meu bash favorito no Windows!5

132 usuários votaram. 26 usuários se abstiveram.

Fonte: habr.com

Adicionar um comentário