ProgramingTip

Write-Host와 Write-Output의 PowerShell 차이점은 무엇입니까?

bestdevel 2020. 11. 5. 08:24
반응형

Write-Host와 Write-Output의 PowerShell 차이점은 무엇입니까?


PowerShell에서 Write-HostWrite-Output 의 차이점은 무엇입니까?

처럼 ...

Write-Host "Hello World ";

Write-Output "Hello World";

간단히 말해 Write-Host콘솔 자체에 씁니다. VBScript 의 MsgBox로 생각하십시오 . Write-Output반면에 파이프 라인에 쓰기 때문에 다음 명령은이를 입력으로 받아 들일 수 있습니다. 암시 적으로 호출 된 Write-Output것처럼 객체를 작성하기 위해 사용할 수 없습니다 Write-Output.

PS> Get-Service

다음과 달라집니다.

PS> Get-Service | Write-Output

Write-Output은 출력을 파이프 라인으로 보냅니다. 여기에서 다른 cmdlet으로 파이프 또는 변수에 할당 될 수 있습니다. Write-Host는이를 콘솔로 직접 보냅니다.

$a = 'Testing Write-OutPut'  | Write-Output
$b = 'Testing Write-Host' | Write-Host

Get-Variable a,b

출력 :

Testing Write-Host

Name                           Value                                                                 
----                           -----                                                                 
a                              Testing Write-OutPut                                                  
b                                                  

Powershell에 출력을 변수에 할당하거나 anoher 명령에 파이핑하여 파이프 라인에 대한 출력으로 수행 할 작업을 지시하지 않고 일반적으로 콘솔 인 out-default 전송되어 결과가 동일하게 표시됩니다. .


Write-Output파이프 라인을 통해 데이터를 통해 보냅니다. 질문 예제에서는 전달 만 전달합니다.

write-host호스트에 따라 증가합니다. 콘솔 write-host에서 기본적으로 [console]::WriteLine. 자세한 정보는 이것을 참조하십시오 .


Write-Host와 Write-Output의 또 다른 차이점 :

  • Write-Host는 화면에 메시지를 표시하지만 로그에는 기록하지 않습니다.

  • 쓰기-출력은 메시지를 로그에 기록하지만 화면에는 표시하지 않습니다.

그리고 Write-Host는 유해한 메시지가 표시됩니다. 쓰기-호스트 사려 깊은 에서 자세한 설명을 볼 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/19754069/powershell-difference-between-write-host-and-write-output

반응형