Qual é o caractere de escape literal no Powershell?

36

Ao incluir um caractere de aspas literal dentro de uma string entre aspas em Powershell, como faço para escapar do caractere de aspas para indicar que é um literal em vez de um delimitador de string?

    
por David Alpert 30.07.2009 / 00:34

4 respostas

54

De help about_quoting_rules

To make double-quotation marks appear in a string, enclose the entire string in single quotation marks. For example:

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

The output from this command is:

As they say, "live and learn."

You can also enclose a single-quoted string in a double-quoted string. For example:

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

The output from this command is:

As they say, 'live and learn.'

To force Windows PowerShell to interpret a double quotation mark literally, use a backtick character. This prevents Windows PowerShell from interpreting the quotation mark as a string delimiter. For example:

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

The output from this command is:

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

Because the contents of single-quoted strings are interpreted literally, you cannot use the backtick character to force a literal character interpretation in a single-quoted string.

O uso do caractere de backtick para escapar de outras aspas em cadeias com aspas simples não é suportado em versões recentes do PowerShell. Nas versões anteriores do PowerShell, o caractere de escape de backtick poderia ser usado para escapar de um caractere de aspas duplas em uma única cadeia de caracteres entre aspas, conforme detalhado no documento help about_quoting que está disponível nessas versões do PowerShell.

    
por 30.07.2009 / 00:45
10

O personagem de escape em Powershell é o "'" (apóstrofo / túmulo atrasado).

Isso pode ser usado para escapar de citações e também caracteres especiais (por exemplo, tab is 't).

    
por 30.07.2009 / 01:20
9

Para complementar o que já foi fornecido aqui, você também deve saber que pode escapar de uma cotação (simples ou dupla) com a cotação em si. Isso significa que você pode fazer isso:

"Aqui está um exemplo de uma" "sequência de aspas duplas" "."

e isso:

'Desta vez é' 'single-quoted' '.'

A vantagem dessa sintaxe é simples: é mais fácil digitar a mesma cotação duas vezes do que escapar de uma cotação com um backtick.

    
por 31.07.2009 / 06:27
0

único 'texto', então é tratado como texto literal e, em seguida, escape de qualquer caractere especial usando "\"

por exemplo. Esta string: "Como dizem," viva e aprenda "" Torna-se esta cadeia "Como se costuma dizer," viver e aprender. \ "'

    
por 19.01.2018 / 13:44