93 votes

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

Lorsque j'inclus un caractère littéral entre guillemets à l'intérieur d'une chaîne de caractères citée dans Powershell, comment puis-je échapper le caractère entre guillemets pour indiquer qu'il s'agit d'un caractère littéral et non d'un délimiteur de chaîne de caractères ?

115voto

Tony Eichelberger Points 1586

De help about_quoting_rules

Pour faire apparaître des guillemets dans une chaîne de caractères, mettez toute la chaîne 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 de caractères entre guillemets simples dans une chaîne de caractères 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 double guillemet, utilisez un caractère backtick. 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.

Parce que le contenu des chaînes de caractères à guillemets simples est interprété littéralement, vous ne pouvez pas utiliser le caractère backtick pour forcer un caractère littéral dans une chaîne de caractères entre guillemets.

L'utilisation du caractère backtick pour échapper à d'autres guillemets dans les chaînes entre guillemets 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 backtick pouvait être utilisé pour échapper à un caractère de guillemets doubles dans une chaîne de caractères entre guillemets simples, comme indiqué dans le document help about_quoting qui est disponible dans ces versions de PowerShell.

26voto

Adam Brand Points 6047

Le caractère d'échappement dans Powershell est le "`" (apostrophe inversée/grave).

Ceci peut être utilisé pour échapper aux guillemets et aussi aux caractères spéciaux (par exemple, la tabulation est `t).

13voto

pure_bordem Points 39

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

"Voici un exemple de ""chaîne de caractères doublement citée"".

et ceci :

Cette fois-ci, c'est "entre guillemets".

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.

2voto

dvdccd Points 31

Single 'text' pour qu'il soit traité comme un texte littéral, puis échappez tous les caractères spéciaux en utilisant "\".

Par exemple, cette chaîne : "Comme on dit, "vivre et apprendre"." devient la chaîne "Comme on dit, "vivre et apprendre"".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X