#1 楼
从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中,可以使用反引号转义字符来对单引号引起来的双引号字符进行转义,如在这些版本的PowerShell中可用的
help about_quoting
文档中所述。 #2 楼
Powershell中的转义字符为“`”(向后撇号/重音)。评论
这可能会使bash用户发疯。 (cmd.exe的转义字符为^)
–user1686
09年7月30日在9:39
好吧,如果您斜视,那么它看起来就像一个反斜杠。
–koenigdmj
09年7月31日在4:38
#3 楼
为了补充此处已提供的内容,您还应该知道可以使用引号本身对引号(单引号或双引号)进行转义。这意味着您可以执行以下操作:“这里是“双引号字符串”的示例”。”
以及:
'这次是“单引号”。'
这种语法提供的优点很简单:两次输入相同的引号比用引号引起来的引号更容易。
#4 楼
单个“文本”,因此将其视为文字文本,然后使用“ \”转义任何特殊字符,例如此字符串:“正如他们所说的那样,“生活和学习。””
变成这样的字符串“如他们所说的“ \”生活和学习。\“'
评论
不在PowerShell中,事实并非如此。 PS C:\ WINDOWS \ system32>写主机'正如他们所说的,“生活和学习。”'正如他们所说的,“生活和学习。”
–HopelessN00b
18年4月3日在18:38
@ HopelessN00b也许让我们不要过于苛刻-如果您使用PowerShell.exe -Command并尝试在参数中传递双引号(从技术上讲,它是CMD的转义符,但在command参数中有效),则此方法有效。 imgur.com/1btjoQW
– jparnell8839
18年11月20日在18:14
评论
只是一个注释,但似乎好像无法转义单引号您的最后一个示例无效。自从您的帖子以来,也许有些事情发生了变化,因为我也找不到about_quoting帮助。运行powershell v5.1。转义双引号或嵌套不同类型的引号仍然可以正常工作。
–卡尔·泽克多(Kal Zekdor)
17年6月2日在18:04
有趣的是-支持转义单引号似乎是一个错误。 about_quoting帮助文件已由about_quoting_rules替换,并且它清楚地表明,由于单引号字符串是文字,因此您不能在PowerShell v5中使用反引号转义单引号。不错,这在V3中有所不同。
– Helvick
17年5月5日在6:38
请注意,如在SQL中一样,通过在单引号引起来的字符串中加倍将单引号转义。因此,“就像他们说的那样,“生活和学习”。
–brianary
17年12月21日在16:12