【发布时间】:2020-01-03 02:22:12
【问题描述】:
我有一些辅助函数写入 STDOUT 以进行日志记录。其中一些函数会向调用者返回一个值,但会返回函数的整个输出。
我怎样才能让我的函数写入 STDOUT 并向调用者返回一个值,而返回值不会被函数调用期间发出的所有 STDOUT 污染?
我正在寻找某种设计模式或最佳实践。
考虑这个脚本:
Function a
{
Write-Output "In Function a"
$a = 4
return $a
}
$b = a
Write-Output "Outside function: `$b is $b"
输出是
Outside function: $b is In Function a 4
但我希望输出是:
In Function a
$b is 4
【问题讨论】:
-
顺便说一句:在 PowerShell 内部,技术上没有 stdout(标准输出);等价于 成功输出流 - 请参阅about_Redirection。
标签: function powershell powershell-2.0