Compartilhar via


Sobre as regras de colocação de aspas

DESCRIÇÃO BREVE

Descreve as regras para usar aspas simples e duplas no PowerShell.

DESCRIÇÃO LONGA

As aspas são usadas para especificar uma cadeia de caracteres literal. Você pode colocar uma cadeia de caracteres entre aspas simples (') ou aspas duplas (").

As aspas também são usadas para criar uma cadeia de caracteres aqui. Uma cadeia de caracteres aqui é uma cadeia de caracteres entre aspas simples ou aspas duplas na qual as aspas são interpretadas literalmente. Uma cadeia de caracteres aqui pode abranger várias linhas. Todas as linhas em uma cadeia de caracteres aqui são interpretadas como cadeias de caracteres, mesmo que não estejam entre aspas.

Em comandos para computadores remotos, as aspas definem as partes do comando que são executadas no computador remoto. Em uma sessão remota, as aspas também determinam se as variáveis em um comando são interpretadas primeiro no computador local ou no computador remoto.

CADEIAS DE CARACTERES DE ASPAS SIMPLES E DUPLAS

Quando você coloca uma cadeia de caracteres entre aspas duplas (uma cadeia de caracteres entre aspas duplas), os nomes de variáveis precedidos por um cifrão ($) são substituídos pelo valor da variável antes que a cadeia de caracteres seja passada para o comando para processamento.

Por exemplo:

$i = 5
"The value of $i is $i."

A saída desse comando é:

The value of 5 is 5.

Além disso, em uma cadeia de caracteres entre aspas duplas, as expressões são avaliadas e o resultado é inserido na cadeia de caracteres. Por exemplo:

"The value of $(2+3) is 5."

A saída desse comando é:

The value of 5 is 5.

Quando você coloca uma cadeia de caracteres entre aspas simples (uma cadeia de caracteres de aspas simples), a cadeia de caracteres é passada para o comando exatamente quando você a digita. Nenhuma substituição é executada. Por exemplo:

$i = 5
'The value of $i is $i.'

A saída desse comando é:

The value $i is $i.

Da mesma forma, as expressões em cadeias de caracteres de aspas simples não são avaliadas. Eles são interpretados como literais. Por exemplo:

'The value of $(2+3) is 5.'

A saída desse comando é:

The value of $(2+3) is 5.

Para evitar a substituição de um valor de variável em uma cadeia de caracteres entre aspas duplas, use o caractere de acento grave (`)(ASCII 96), que é o caractere de escape do PowerShell.

No exemplo a seguir, o caractere de acento grave que precede o primeiro $i variável impede que o PowerShell substitua o nome da variável por seu valor. Por exemplo:

$i = 5
"The value of `$i is $i."

A saída desse comando é:

The value $i is 5.

Para fazer aspas duplas aparecerem em uma cadeia de caracteres, coloque toda a cadeia de caracteres entre aspas simples. Por exemplo:

'As they say, "live and learn."'

A saída desse comando é:

As they say, "live and learn."

Você também pode colocar uma cadeia de caracteres entre aspas simples em uma cadeia de caracteres entre aspas duplas. Por exemplo:

"As they say, 'live and learn.'"

A saída desse comando é:

As they say, 'live and learn.'

Ou, dobre as aspas em torno de uma frase de aspas duplas. Por exemplo:

"As they say, ""live and learn."""

A saída desse comando é:

As they say, "live and learn."

Para incluir uma única aspa em uma cadeia de caracteres entre aspas simples, use uma segunda aspa simples consecutiva. Por exemplo:

'don''t'

A saída desse comando é:

don't

Para forçar o PowerShell a interpretar literalmente uma aspa dupla, use um caractere de acento grave. Isso impede que o PowerShell interprete as aspas como um delimitador de cadeia de caracteres. Por exemplo:

PS> "Use a quotation mark (`") to begin a string."
Use a quotation mark (") to begin a string.
PS> 'Use a quotation mark (`") to begin a string.'
Use a quotation mark (`") to begin a string.

Como o conteúdo das cadeias de caracteres de aspas simples é interpretado literalmente, você o caractere de acento grave é tratado como um caractere literal e exibido na saída.

CADEIAS DE CARACTERES AQUI

As regras de aspas para cadeias de caracteres aqui são ligeiramente diferentes.

Uma cadeia de caracteres aqui é uma cadeia de caracteres entre aspas simples ou aspas duplas na qual as aspas são interpretadas literalmente. Uma cadeia de caracteres aqui pode abranger várias linhas. Todas as linhas em uma cadeia de caracteres aqui são interpretadas como cadeias de caracteres, mesmo que não estejam entre aspas.

Assim como as cadeias de caracteres regulares, as variáveis são substituídas por seus valores em cadeias de caracteres aqui entre aspas duplas. Em cadeias de caracteres aqui de aspas simples, as variáveis não são substituídas por seus valores.

Você pode usar cadeias de caracteres aqui para qualquer texto, mas elas são particularmente úteis para os seguintes tipos de texto:

  • Texto que contém aspas literais
  • Várias linhas de texto, como o texto em um HTML ou XML
  • O texto da Ajuda para um script ou documento de função

Uma cadeia de caracteres aqui pode ter um dos seguintes formatos, em <Enter> que representa o feed de linha ou o caractere oculto de nova linha que é adicionado quando você pressiona a tecla ENTER .

Aspas duplas:

@"<Enter>
<string> [string] ...<Enter>
"@

Aspas simples:

@'<Enter>
<string> [string] ...<Enter>
'@

Em ambos os formatos, as aspas de fechamento devem ser o primeiro caractere na linha.

Uma cadeia de caracteres aqui contém todo o texto entre os dois caracteres ocultos. Na cadeia de caracteres aqui, todas as aspas são interpretadas literalmente. Por exemplo:

@"
For help, type "get-help"
"@

A saída desse comando é:

For help, type "get-help"

Usar uma cadeia de caracteres aqui pode simplificar o uso de uma cadeia de caracteres em um comando. Por exemplo:

@"
Use a quotation mark (') to begin a string.
"@

A saída desse comando é:

Use a quotation mark (') to begin a string.

Em cadeias de caracteres aqui de aspas simples, as variáveis são interpretadas literalmente e reproduzidas exatamente. Por exemplo:

@'
The $profile variable contains the path
of your PowerShell profile.
'@

A saída desse comando é:

The $profile variable contains the path
of your PowerShell profile.

Em cadeias de caracteres aqui entre aspas duplas, as variáveis são substituídas por seus valores. Por exemplo:

@"
Even if you have not created a profile,
the path of the profile file is:
$profile.
"@

A saída desse comando é:

Even if you have not created a profile,
the path of the profile file is:
C:\Users\User1\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.

As cadeias de caracteres aqui normalmente são usadas para atribuir várias linhas a uma variável. Por exemplo, a cadeia de caracteres a seguir atribui uma página de XML à variável $page.

$page = [XML] @"
<command:command xmlns:maml="https://schemas.microsoft.com/maml/2004/10"
xmlns:command="https://schemas.microsoft.com/maml/dev/command/2004/10"
xmlns:dev="https://schemas.microsoft.com/maml/dev/2004/10">
<command:details>
        <command:name>
               Format-Table
        </command:name>
        <maml:description>
            <maml:para>Formats the output as a table.</maml:para>
        </maml:description>
        <command:verb>format</command:verb>
        <command:noun>table</command:noun>
        <dev:version></dev:version>
</command:details>
...
</command:command>
"@

As cadeias de caracteres aqui também são um formato conveniente para entrada no ConvertFrom-StringData cmdlet , que converte aqui cadeias de caracteres em tabelas de hash. Para obter mais informações, consulte ConvertFrom-StringData.

CONSULTE TAMBÉM

about_Special_Characters

ConvertFrom-StringData