Powershell RC2: O que mudou desde o RC1?

Olá, continuando a escrever sobre o Powershell. Agora, sobre o que mudou especificamente desde a última versão pública, o RC1. Pra começar, vamos ao que significa RC. RC = Release Candidate, uma versão candidata a ser a versão final. Em termos práticos, é uma versão final... a não ser que alguém encontre um bug. O produto em questão está com o código completo, todas as funcionalidades implementadas. Nada de novo será feito, nenhuma alteração estrutural, apenas correção de bugs. A fonte disso está aqui: Wikipedia. Ao meu ver, ocorreram sim algumas mudanças importantes do RC1 pro RC2. Talvez não fosse tão necessário chamar de RC, mas já é uma versão bem perto da versão final. Vejamos quais mudanças foram essas que eu encontrei. Ngen e código nativo do Powershell Aparentemente, o bug que eu encontrei e comentei no NG oficial do Powershell não foi corrigido. Ou então minha máquina está tão devagar que está se comportando de forma absurdamente estranha (não acredito nisso, mas vamos lá). Aqui, o Powershell demora cerca de uns 7 ou 8 segundos para abrir pela primeira vez desde a última inicialização. Com as informações do NG, usei o utilitário Ngen e resolvi o problema com o RC1. Tentei o mesmo nas dlls do RC2, mas não adiantou. Vou perguntar denovo lá. Cores! Mais propriedades do objeto $host podem ser alteradas. Um bom exemplo disso é a propriedade $host.privatedata, que permite configurar algumas coisas legais como cores pras mensagens de erro, debug, etc. Outras como a $host.RawUI.BackgroundColor e ForegroundColor já podiam ser alteradas se não me engano... lembrei delas porque agora a cor padrão do Powershell é um fundo azul com letras brancas. Quantificadores Agora algumas coisas como KB, MB e GB são válidas no Powershell como quantificadores. Se não me engano, isso já existia em outra linguagem que eu gosto bastante, Ruby. O exemplo abaixo demonstra como é útil: ls | where {$_.lenght -ge 500kb } Mais operadores: -xor e -bxor Essa vai pra quem entende um pouco mais de lógica, operadores e base 2. Foram criados mais dois operadores, o -xor e o -bxor, que é igual ao primeiro, mas operando bit a bit. Veja: PS C:\> 10 -xor 5 False PS C:\> 10 -bxor 5 15 Local de Instalação Agora não podemos mais escolher o local da instalação, e ele fica em C:\Windows\System32\WindowsPowershell. O arquivo .ADM de configuração do nível de segurança padrão dos scripts agora não vem mais por padrão com o Powershell, mas poderá ser baixado separadamente na Web. Sinceramente, não entendi o porque dessas duas mudanças. Pra mim, só atrapalham. Parece mais coisa daquele Windows Genuine Advantage Autocomplete e Intellisense Não sei se a tecnologia é a mesma do Intellisense, do Visual Studio... mas agora o Autocomplete no console melhorou bastante. Você pode usar o TAB agora pra N coisas a mais. Antes servia pra completar caminhos, nomes de arquivo e pastas. Agora, serve para propriedades e métodos dos objetos, além de parâmetros de comandos. Veja: ls - ==> ls -Path ==> ls -Filter $a = ls $. ==> $a.Count get-process | foreach { $_. ==> get-process | foreach { $_.Clone( Fantástico e muito bom pra quem tá aprendendo. Ah, Shift + TAB também funciona. Faz a mesma coisa, mas na ordem inversa. Só ficou uma sugestão no ar... o Autocomplete podia funcionar igual ao do Bash... listando as oções abaixo da linha de comando, não usando ela mesma. Depois de algum tempo acostuma, mas seria legal copiar mesmo porque é absurdamente prático. Tá muito bom do jeito que tá, não conheço nada parecido em termos de shell, mas poderia ficar ótimo se seguissem minha sugestão. Bom, pra quem se interessar, recomendo ler o Getting Started e o Release Notes do Powershell. Tirei boa parte de lá e do que eu testei até agora. Pra quem não testou ainda, recomendo mais uma vez que teste, aprenda o mais rápido possível. esse é o futuro dos scripts. Posto mais novidades depois, ainda não acabou não! Obrigado, Vinicius

Categorias dessa postagem:

Comentários