小编vaz*_*yte的帖子

使用扩展字符串作为Powershell函数参数

我正在尝试编写一个函数,该函数将打印用户提供的问候语,该问候语发送给用户提供的名称.我想在这个代码块中使用扩展字符串:

$Name = "World"  
$Greeting = "Hello, $Name!"
$Greeting
Run Code Online (Sandbox Code Playgroud)

哪个成功打印Hello, World!.但是,当我尝试将这些字符串作为参数传递给类似的函数时,

function HelloWorld
{  
    Param ($Greeting, $Name)
    $Greeting
}
HelloWorld("Hello, $Name!", "World")
Run Code Online (Sandbox Code Playgroud)

我得到了输出

Hello, !  
World  
Run Code Online (Sandbox Code Playgroud)

经调查,PowerShell的似乎忽略了$Name"Hello, $Name!"完全与运行

HelloWorld("Hello, !", "World")
Run Code Online (Sandbox Code Playgroud)

产生与上述相同的输出.此外,它似乎并不认为"World"$Name运行以来 的价值

function HelloWorld
{  
    Param ($Greeting, $Name)
    $Name
}
HelloWorld("Hello, $Name!", "World")
Run Code Online (Sandbox Code Playgroud)

不产生任何产出.

当作为函数参数传入时,有没有办法让扩展字符串工作?

powershell string-interpolation

4
推荐指数
2
解决办法
391
查看次数

标签 统计

powershell ×1

string-interpolation ×1