Término de linha de comando no #powershell

O powershell possui duas formas de se concluir um comando, uma é o ponto-e-virgula (;) e outra (que funciona quase sempre) é uma nova linha, conseguida pelo `n ou pela tecla <enter>.

Mas essa estória de “funciona quase sempre” pega mal né?!?! Deixa eu explicar: é que passar para uma nova linha só funciona se o powershell perceber que o comando está completo (sua sintaxe), caso o powershell perceba que a linha do comando náo está completa ele trata a  nova linha como um simples espaço e espera que você conclua o comando. Vamos a um exemplo para ficar mais claro. Caso usemos o comando:

PS (2) > 2+
>>

Ao pressionar <enter> após o comando 2+ o powershell percebeu que o numero dois será somado a algum outro e, portanto, o comando não está completo, então ele continua a esperar o resto do comando antes de processar. Não importa quantas vezes você pressione <enter> ele não irá concluir. Então vejamos a seguinte situação, você fez o mesmo comando acima e na próxima linha digitou outro número:

PS (2) > 2+
>> 3
>>
5

Ok, agora sim, após digitar outro número seguido de uma nova linha ele “percebe” que a expressão está completa e dá o resultado.

Outro exemplo, agora sem números mas com strings:

PS (2) > Write-host “Teste de
>> escrever em
>> varias linhas”
>>
Teste de
escrever em
varias linhas

Ele só conclui quando as aspas são fechadas, da mesma forma seria se fossem parenteses ou qualquer outro caractere que necessite de um “fechamento”.

Agora, se você quiser forçar o final da linha é só usar “;“, mesmo sem ter terminado a expressão o comando será interpretado, provavelmente gerando um erro, claro.

É isso aí, é simples assim.

Abraço e até a próxima.

Post to Twitter Enviar para o Twitter

Publicado por: tecdom em October 25th, 2009 | Categoria Powershell, Programação, Scripts, Uncategorized



DEIXE UM COMENTÁRIO

rss feed