Write-Output Vs Write-Host

jy17·2022년 5월 16일
0

PowerShell

목록 보기
1/3
post-thumbnail

0. 환경

  • OS: Windows 10
  • PSVersion(Powershell Version): 5.1.19041.1645

1. 조사 이유

  • Write-Output을 이용하여 파일에 글을 작성하는데 NewLine이 삽입되는것을 피하기 위해서 조사
  • Write-Host에는 -NoNewLine이란 옵션이 존재하지만 PipeLine 입력값을 사용하지 못하기 때문에 파일에 쓸수 없엇음
  • Write-Output에는 -NoNewLine이란 옵션 없음

2. 공통점

  • 결과를 Console 화면에 보여줄 때 사용할 수 있다

3. 차이점

Write-OutputWrite-Host
PipeLine입력값 사용가능불가능
custom 컬러 설정 가능 여부불가능텍스토와 배경색 지정 가능
특징디스플레이 전용 출력

4. Write-Output의 공백을 제거한 방법

out-string과 trim이용

요약

  • Object를 string으로 변환 후 trim을 통해 공백 제거

  • [TO-BE]

(Get-Service | Where-Object { ($_.Status -eq "Running") -and ($_.DisplayName -match 'windows') } | Out-String).Trim()
  • [AS-IS]

5. Write-Host로 공백없는 파일 생성 또는 초기화 가능

# 빈 값에 파일이 생성됨
# Write-Output "" > "test.txt" 시는 공백이지만 줄바꿈이 생김
Write-Host -NoNewline "" > "test.txt"

# 입력값을 지원하지 않기 떄문에 test.txt 파일에 "Hello World"에 내용이 작성되지 않음
Write-Host "Hello World" > "test.txt"

0개의 댓글