PowerShell中的Write-Output和Write-Host命令之间的区别?
我们是否曾经想过,Write-Output和Write-Host都用于打印字符串或命令的输出,那么它们之间有什么区别?
示例
PS C:\> Write-Output "Test String"Test String
PS C:\> Write-Host "Test String"
Test String
输出保持不变。
第一个主要区别是使用管道结构存储输出。例如,Write-Output和Write-Host都支持管道结构,
示例
"Test String" | Write-OutputTest String
"Test String" | Write-Host
Test String
输出保持不变。
第一个主要区别是使用管道结构存储输出。例如,Write-Output和Write-Host都支持管道结构,
示例
"Test String" | Write-OutputTest String
"Test String" | Write-Host
Test String
但是,当我们存储输出时,它将显示两个命令之间的差异。
输出结果
$a = "Test String" | Write-OutputGet-Variable a
Name Value
---- -----
a Test String
$b = "Test String" | Write-Host
Test String
Get-Variable b
Name Value
---- -----
b
在上面的示例中,当字符串输出存储到变量中时,Write-Output可以存储它,而Write-Host在控制台中显示输出,而输出未分配给变量,因为Write-Host直接向控制台生成输出而Write-Output会在变量内部生成并存储输出。因此,如果脚本编写者不知道控制台是否正常运行远程主机,则不建议使用Write-Host进行PowerShell远程处理。
另一个区别是,使用Write-Host cmdlet,可以用背景和前景(文本)颜色装饰输出,而在Write-Output命令中则无法实现。
示例
Write-Host "Dark green backgound with White text" -BackgroundColor DarkGreen -ForegroundColor WhiteDark green backgound with White text
以上是 PowerShell中的Write-Output和Write-Host命令之间的区别? 的全部内容, 来源链接: utcz.com/z/347136.html