假设我有以下片段:
$assoc = New-Object PSObject -Property @{
Id = 42
Name = "Slim Shady"
Owner = "Eminem"
}
Write-Host $assoc.Id + " - " + $assoc.Name + " - " + $assoc.Owner
我希望这段代码显示:
42-Slim Shady-阿姆
但相反,它显示:
42+-+斯利姆·沙迪+-+埃米纳姆
这让我觉得+运算符不适合连接字符串和变量。
您应该如何使用PowerShell实现这一点?
单引号和双引号之间有区别。(我正在使用PowerShell 4)。
你可以这样做(正如本杰明所说):
$name = 'Slim Shady'
Write-Host 'My name is'$name
-> My name is Slim Shady
或者您可以这样做:
$name = 'Slim Shady'
Write-Host "My name is $name"
-> My name is Slim Shady
单引号用于文字,请按如下方式输出字符串。双引号用于需要进行某些预处理时(例如变量、特殊字符等)
So:
$name = "Marshall Bruce Mathers III"
Write-Host "$name"
-> Marshall Bruce Mathers III
鉴于:
$name = "Marshall Bruce Mathers III"
Write-Host '$name'
-> $name
(我发现如何:转义字符、分隔符和引号很适合参考)。