powershell echo 和函数参数

powershell echo 和函数参数

我发现 echo 和函数参数有一些奇怪的行为 - 在此示例中:

function a
{
    $one = "1"
    echo "display some text"
    return @{one = $one}
}

function b
{
    param ($one)
    echo $one
}

$returnedHash = a
echo $returnedHash
b @returnedHash

输出为:

display some text

Name                           Value                                  
----                           -----                                       
one                            1                                      
display some text

函数 b 中的 $one 是错误的,只要在函数 a 中使用 echo 即可。(使用 Write-Host 可获得预期结果)

那么我在这里不明白什么呢?这不是一个范围问题 - 它似乎与使用管道进行回显以及可能的溅射有关?

相关内容