programing

PowerShell 콘솔에 쓰는 방법

powerit 2023. 4. 8. 09:53
반응형

PowerShell 콘솔에 쓰는 방법

콘솔에 (에코)를 인쇄하는 다양한 방법에 대해 조금 혼란이 있습니다.콘솔에 출력을 쓰는 방법에는 다음과 같은 여러 가지가 있습니다.

Write-Host "Hello world1"
"Hello World2"
Out-Host -InputObject "Hello World3"

3가지 방법 모두 콘솔에 인쇄됩니다.가운데 것은 다소 단순하고 덜 장황하고 사용하기 쉽다.또, 다음과 같은 함수를 작성할 때도, 다음과 같은 것을 알 수 있습니다.

function GetValues()
{
    "1"
    "2"
}

그래도 파이프라인에 다음 두 개의 문자열이 반환됩니다.

그리고 나는 여전히 값을 인쇄할 수 있다:

foreach ($s in GetValues)
{
    Write-Host "s: " $s
}

여기서 깨달은 것은 따옴표로 묶인 문자열만 사용하는 것이 커스텀호스트에 항상 표시되는 것은 아니고, 커스텀호스트에 인쇄하는 값을 취득하기 위해서 기입 호스트를 사용할 필요가 있었습니다.

어쩐지 헷갈리네요."Print something"가명이라고 생각되다Write-Host또는 목적이 무엇입니까?

PowerShell의 기본 동작은 다른 파이프라인 요소에 의해 픽업되거나 변수에 할당(또는 리다이렉트)되지 않고 파이프라인에서 떨어진 모든 것을 덤프하는 것입니다.Out-Host. 뭐?Out-Host호스트에 의존합니다.

파이프라인에서 물건을 빼내는 것만으로는Write-Host호스트 애플리케이션에서 텍스트를 출력하는 유일한 이유로 존재합니다.

출력을 원할 경우,Write-*cmdlets.함수에서 값을 반환하려면 cmdlet 없이 개체를 덤프하십시오.

가운데는 파이프라인에 글을 씁니다. Write-Host그리고.Out-Host는 콘솔에 씁니다.'timeout'은 에일리어스입니다.Write-Output파이프라인에도 쓸 수 있습니다.콘솔에 쓰는 가장 좋은 방법은Write-Hostcmdlet.

객체가 파이프라인에 기록될 때 체인의 다른 명령에 의해 사용될 수 있습니다.예를 들어 다음과 같습니다.

"hello world" | Do-Something

하지만 이것은 효과가 없을 것이다.Write-Host파이프라인이 아닌 콘솔에 씁니다(Do-Something은 문자열을 가져오지 않습니다).

Write-Host "hello world" | Do-Something

언급URL : https://stackoverflow.com/questions/10832000/how-to-write-to-the-console-in-powershell

반응형