使用一些 cmdlet(例如 Write-Host、Read-Host)会发现这种情况。只是想知道如何绕过它。
例如,我有一个格式化的 Write-Host 字符串,我想将其设置为一个变量。但它会在定义变量后立即调用它。似乎避免它的唯一方法是创建一个函数,这似乎有点矫枉过正。
function Test-WriteHost
{
$inFunction = Write-Host "I'm in a variable!" -BackgroundColor DarkBlue -ForegroundColor Cyan
}
$direct = Write-Host "So am I!" -BackgroundColor DarkBlue -ForegroundColor Cyan
So am I!