当合法变量字符跟随字符串中的变量时,如何创建PowerShell字符串插值?

g.p*_*dou 0 powershell

我尝试在PowerShell中使用字符串插值:

$myvariable = "World"
Write-Host "Hello $myvariable" 
Run Code Online (Sandbox Code Playgroud)

上面的代码运行正常,写着"Hello World"

但是,如果在字符串中的字符后跟变量部分形成一个合法的变量名称,由于歧义,它无法解析

$myvariable = "World"
Write-Host "Hello $myvariableimmediately continuing" 
Run Code Online (Sandbox Code Playgroud)

我明白这应该不行,但尽管使用谷歌搜索我找不到这样的例子.我想念的语法是什么?

har*_*per 5

空格只是结束变量名的一种方法.您可以使用括号来精确定义字符串中变量的长度.

$myvariable = "World"
Write-Host "Hello ${myvariable}immediately continuing" 
Run Code Online (Sandbox Code Playgroud)


Tri*_*rix 5

如果您希望将变量文本存储到变量中,可以这样做:

Write-Host "Hello $($myvariable)immediately continuing"
Run Code Online (Sandbox Code Playgroud)

Hello World立即继续

$($variable)建筑也是有用的,如果你的对象是多值的,你只是想写出一个值.

Write-host "My cat's name is $($cat.name) and he is $($cat.age) years old"
Run Code Online (Sandbox Code Playgroud)

括号的运算方式与它们在数学中的运算方式基本相同 - 首先计算内部表达式,然后使用语句的其余部分解析结果.