以下代码按预期工作:
'John' | % { "$_ $_" }
> John John
Run Code Online (Sandbox Code Playgroud)
但是,我无法找到一种将字符串存储$_ $_在变量中的方法,该变量稍后在管道中使用:
$f = '$_ $_'
'John' | % { $f }
> $_ $_
Run Code Online (Sandbox Code Playgroud)
我如何"插入"变量,而不是使用双引号字符串?
您可以定义一个PowerShell ScriptBlock,用大括号括起来,然后使用.call运算符执行它.
$f = { $_ $_ }
'John' | % { . $f }
Run Code Online (Sandbox Code Playgroud)
输出如下:
John
John
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要一个字符串(如您的初始问题),您可以:
$f = { "$_ $_" }
'John' | % { . $f };
Run Code Online (Sandbox Code Playgroud)
输出如下:
John John
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |