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>
看到了吗?即使将命令用单引号引起来,我也需要转义那些双引号。发生什么事了?
答案 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