Powershell和Perl One衬板中的报价

时间:2018-07-26 06:53:09

标签: perl powershell quotes

powershell中的报价规则到底是什么?单引号可以包含文字双引号。对吧?

PS C:\Users> '"Hello world"'
"Hello world"
PS C:\Users> perl -e 'print \"Heloo World\n\"'
Heloo World
PS C:\Users> perl -e 'print "Heloo World\n"'
PS C:\Users>

看到了吗?即使将命令用单引号引起来,我也需要转义那些双引号。发生什么事了?

1 个答案:

答案 0 :(得分:0)

Microsoft对于单引号和双引号有一个完整的about page

主要收获是:
1.单引号的字符串可以包含双引号。
2.带双引号的字符串可以包含单引号
3.用单引号引起来的字符串将使用诸如变量之类的内容,并将其作为文本而不是变量传递。

所以我们设置了一个字符串

$string = "this is me"

并尝试使用双引号将其打印:

write-host "who is this? $string"

给予

who is this? this is me

如果我们现在尝试使用单引号:

write-host 'who is this? $string'

给予

who is this? $string