我尝试在PowerShell中使用字符串插值:
$myvariable = "World"
Write-Host "Hello $myvariable"
上面的代码工作正常,写上“ Hello World”
但是,如果字符串中的字符跟随变量部分而形成合法的变量名称,则由于歧义而无法解析
$myvariable = "World"
Write-Host "Hello $myvariableimmediately continuing"
问题
我知道这应该行不通,但是尽管进行了谷歌搜索,但我找不到这样的例子。我想念的语法是什么?
答案 0 :(得分:5)
空格只是结束变量名的一种方法。您可以使用方括号来精确定义字符串中变量的长度。
$myvariable = "World"
Write-Host "Hello ${myvariable}immediately continuing"
答案 1 :(得分:5)
如果要将连续文本添加到变量中,可以这样操作:
Write-Host "Hello $($myvariable)immediately continuing"
Hello World立即继续
如果您的对象是多值的并且您只想写一个值,则$($variable)
的构造也很有用。
Write-host "My cat's name is $($cat.name) and he is $($cat.age) years old"
括号的运算方式与数学运算基本相同-首先计算内部表达式,然后将结果与语句的其余部分一起解析。