web-dev-qa-db-fra.com

Quel est le caractère d'échappement littéral dans Powershell?

Lorsque j'inclus un caractère de citation littéral dans une chaîne entre guillemets dans Powershell, comment puis-je échapper le caractère de citation pour indiquer qu'il s'agit d'un littéral au lieu d'un délimiteur de chaîne?

58
David Alpert

De help about_quoting_rules

Pour faire apparaître des guillemets doubles dans une chaîne, placez la chaîne entière entre guillemets simples. Par exemple:

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

La sortie de cette commande est:

As they say, "live and learn."

Vous pouvez également inclure une chaîne entre guillemets simples dans une chaîne entre guillemets doubles. Par exemple:

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

La sortie de cette commande est:

As they say, 'live and learn.'

Pour forcer Windows PowerShell à interpréter littéralement un guillemet double, utilisez un caractère de point arrière. Cela empêche Windows PowerShell d'interpréter le guillemet comme un délimiteur de chaîne. Par exemple:

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

La sortie de cette commande est:

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

Étant donné que le contenu des chaînes entre guillemets simples est interprété littéralement, vous ne pouvez pas utiliser le caractère de contre-frappe pour forcer une interprétation de caractère littéral dans une chaîne entre guillemets simples.

L'utilisation du caractère backtick pour échapper aux autres guillemets dans les chaînes entre guillemets simples n'est pas prise en charge dans les versions récentes de PowerShell. Dans les versions antérieures de PowerShell, le caractère d'échappement de point arrière pouvait être utilisé pour échapper un caractère de guillemet double dans une seule chaîne entre guillemets, comme indiqué dans le help about_quoting document disponible dans ces versions de PowerShell.

84
Helvick

Le caractère d'échappement dans Powershell est le "` "(apostrophe/Grave en arrière).

Cela peut être utilisé pour échapper les guillemets et les caractères spéciaux (par exemple, tab est `t).

15
Adam Brand

Pour compléter ce qui a déjà été fourni ici, vous devez également savoir que vous pouvez échapper à un devis (simple ou double) avec le devis lui-même. Cela signifie que vous pouvez le faire:

"Voici un exemple de" "chaîne entre guillemets" "."

et ça:

'Cette fois, c'est' 'guillemet simple' '.'

L'avantage de cette syntaxe est simple: il est plus facile de taper deux fois la même citation que d'échapper à une citation avec un backtick.

10
Poshoholic

"texte" unique, il est donc traité comme du texte littéral, puis échappe tous les caractères spéciaux à l'aide de "\"

par exemple. Cette chaîne: "Comme on dit," vivre et apprendre. "" Devient cette chaîne 'Comme on dit,\"vivre et apprendre. \"'

1
dvdccd