É possível dividir uma linha de comando do PowerShell em várias linhas?
No Visual Basic, posso usar o sublinhado ( _
) para continuar o comando na próxima linha.
powershell
multiline
eXXL
fonte
fonte
sh
comando, as convenções do bash são válidas para que você possa usar barra invertida. Nesse caso, seu script também deve ter finais de estilo unix.Respostas:
Você pode usar um espaço seguido pelo acento grave (backtick):
No entanto, isso só é necessário nesses casos, como mostrado acima. Geralmente, você obtém a continuação automática da linha quando um comando não pode ser sintaticamente completo nesse ponto. Isso inclui iniciar um novo elemento de pipeline:
funcionará sem problemas, pois após o
|
comando não poder ser concluído, pois está faltando outro elemento do pipeline. A abertura de chaves ou qualquer outro tipo de parênteses permitirá a continuação da linha diretamente:Semelhante à
|
vírgula também funcionará em alguns contextos:Porém, lembre-se, semelhante à Inserção automática de ponto e vírgula do JavaScript , há algumas coisas que são quebradas da mesma forma porque a quebra de linha ocorre em um ponto em que é precedida por uma declaração válida:
não funciona.
Finalmente, as strings (em todas as variedades) também podem se estender além de uma única linha:
Eles incluem as quebras de linha na sequência, então.
fonte
|
e{
.Acabei de descobrir que não deve haver nenhum caractere entre o back tick e a quebra de linha. Mesmo espaço em branco fará com que o comando não funcione.
fonte
Na maioria das linguagens do tipo C, sou decidido a colocar meus aparelhos nos quais acho que eles tornam o código mais fácil de ler.
O analisador do PowerShell reconhece quando uma declaração claramente não está completa e olha para a próxima linha. Por exemplo, imagine um cmdlet que use um parâmetro opcional de bloco de script:
se o bloco de scripts for muito longo, você pode escrever:
Mas isso não vai funcionar: o analisador verá duas instruções. O primeiro é
Get-Foo
e o segundo é um bloco de script. Em vez disso, escrevo:Eu poderia usar o caractere de continuação de linha (`), mas isso torna o código difícil de ler e convida a erros.
Como esse caso exige que a chave aberta esteja na linha anterior, sigo esse padrão em todos os lugares:
De maneira semelhante, no caso de tubulações longas, quebro após o caractere de tubulação (
|
):fonte
if
eforeach
etry
trabalho, então? eles permitem que blocos de script na linha seguinte ... Isso significa que ele MUT ser possívelPara expandir a resposta de cristobalito :
Por exemplo:
Assine um script do PowerShell na linha de comando. Sem quebras de linha.
fonte
No PowerShell e no PowerShell ISE, também é possível usar Shift+ Enterno final de cada linha para edição de várias linhas (em vez do backtick padrão
`
).fonte
SHIFT-ENTER
truque.PSReadLine
módulo ou equivalente. Nas funções de entrada padrão do console do WindowsEnter
eShift+Enter
são funcionalmente equivalentes.PSReadline
módulo funciona no hospedeiro consola única (não ISE). 2)Shift+Enter
funciona no host do console apenas ao usarPSReadline
. 3)Shift+Enter
sempre trabalhou no ISE. 4) Se usar o host do console semPSReadline
,Shift+Enter
é funcionalmente equivalente a pressionarEnter
.Se você estiver tentando separar seqüências de caracteres em várias linhas, poderá usar o "+". Por exemplo:
Será parecido com:
fonte
Suponho que você esteja falando na linha de comando - se estiver em um script, uma nova linha atuará como um delimitador de comando.
Na linha de comando, use um ponto-e-vírgula ';'
fonte
;
para separar o comando\\
em qualquer barra invertida\
."'
para passar um endereço seguro para alternar comandos como "'PATH'".Este comando ps1 instala o certificado locale pfx.
fonte
Existem muitas maneiras de continuar uma linha no PowerShell, com tubos, colchetes, parênteses, operadores, pontos, mesmo com uma vírgula. Aqui está um blog sobre isso: https://get-powershellblog.blogspot.com/2017/07/bye-bye-backtick-natural-line.html
Você pode continuar logo após declarações como foreach e também.
fonte
a fonte
não usa aspas
fonte
Basta usar o caractere `para separar o comando em várias linhas
fonte
Basta adicionar uma caixa de canto aqui. Isso pode economizar 5 minutos. Se você usar uma cadeia de ações, precisará colocar "." no final da linha, deixe um espaço seguido pelo "` "(backtick). Descobri isso da maneira mais difícil.
fonte