it-swarm-ru.tech

Что такое буквальный escape-символ в Powershell?

При включении литерального символа кавычки в строку в кавычках в Powershell, как я могу экранировать символ кавычки, чтобы указать, что он является литералом, а не разделителем строк?

58
David Alpert

От help about_quoting_rules

Чтобы двойные кавычки отображались в строке, заключите всю строку в одинарные кавычки. Например:

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

Вывод этой команды:

As they say, "live and learn."

Вы также можете заключить строку в одинарные кавычки в строку в двойных кавычках. Например:

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

Вывод этой команды:

As they say, 'live and learn.'

Чтобы заставить Windows PowerShell буквально интерпретировать двойные кавычки, используйте символ обратной черты. Это не позволяет Windows PowerShell интерпретировать кавычку как разделитель строк. Например:

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

Вывод этой команды:

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

Поскольку содержимое строк в одинарных кавычках интерпретируется буквально, вы не можете использовать символ обратного кавычки для принудительного литерального преобразования символов в строке в одинарных кавычках.

Использование символа обратной кавычки для экранирования других кавычек в строках с одинарными кавычками не поддерживается в последних версиях PowerShell. В более ранних версиях PowerShell escape-символ обратного удара можно использовать для экранирования символа двойной кавычки в одной строке в кавычках, как описано в help about_quoting документ, доступный в этих версиях PowerShell.

84
Helvick

Побег из Powershell - это "` "(обратный апостроф/могила).

Это можно использовать для экранирования кавычек, а также специальных символов (например, tab - `t).

15
Adam Brand

Чтобы дополнить то, что уже было предоставлено здесь, вы также должны знать, что вы можете избежать кавычки (одинарной или двойной) с самой цитатой. Это означает, что вы можете сделать это:

Msgstr "Вот пример строки" "в двойных кавычках" "."

и это:

На этот раз это "одинарные кавычки".

Преимущество этого синтаксиса простое: проще набрать одну и ту же кавычку дважды, чем избежать кавычки с обратной косой чертой.

10
Poshoholic

один текст, поэтому он обрабатывается как буквальный текст, а затем экранирует любые специальные символы, используя "\"

например Эта строка: "Как говорится," живи и учись "." Становится эта строка "Как говорится, \" Живи и учись "."

1
dvdccd