PowerShell에서 콘솔에 쓰는 가장 좋은 방법
콘솔에 인쇄 (에코)하는 다양한 방법에 대해 약간의 혼란이 있습니다. 콘솔에 출력을 쓰는 여러 가지 방법이 있습니다.
Write-Host "Hello world1"
"Hello World2"
Out-Host -InputObject "Hello World3"
세 가지 방법 모두 콘솔에 인쇄됩니다. 중간 부분은 다소 단순하고 덜 장황하며 사용하기 쉽습니다. 또한 다음과 같은 함수를 작성할 때 다음을 발견합니다.
function GetValues()
{
"1"
"2"
}
파이프 라인에서 여전히 두 개의 문자열을 반환합니다.
그리고 나는 여전히 값을 인쇄 할 수 있습니다 :
foreach ($s in GetValues)
{
Write-Host "s: " $s
}
내가 찾은 것은 인용 된 문자열 만 사용하는 것이 항상 사용자 정의 호스트에 나타나는 것은 아니며 Write-Host 를 사용 하여 사용자 정의 호스트에 인쇄 할 값을 가져와야 한다는 것입니다.
어떻게 든 혼란스러워합니다. 되어 "Print something"
별칭 있어야 Write-Host
또는 무엇을 의도?
PowerShell의 기본 동작은 다른 파이프 라인 요소에 의해 선택되거나 변수에 지정되거나 리디렉션되지 않고 파이프 라인에서 떨어지는 모든 항목을 덤프하는 것입니다 Out-Host
. Out-Host
분명히 호스트에 의존하는 것은 무엇입니까?
그냥 일이 파이프 라인의 탈락시키는 것은 하지 에 대한 대체 Write-Host
호스트 응용 프로그램에 텍스트를 출력하는 유일한 이유가 존재한다.
출력을 원하면 Write-*
cmdlet 을 사용하십시오 . 함수에서 값을 반환하려면 cmdlet없이 개체를 덤프하면됩니다.
중간은 파이프 라인에 씁니다. Write-Host
및 Out-Host
콘솔에 기록합니다. 'echo'는 Write-Output
파이프 라인에도 쓰는 별칭입니다 . 콘솔에 쓰는 가장 좋은 방법은 Write-Host
cmdlet을 사용하는 것 입니다.
파이프 라인에 객체를 쓰면 체인의 다른 명령으로 소비 될 수 있습니다. 예를 들면 다음과 같습니다.
"hello world" | Do-Something
그러나 Write-Host
파이프 라인이 아닌 콘솔에 쓰기 때문에 작동 하지 않습니다 (Do-Something은 문자열을 얻지 못합니다).
Write-Host "hello world" | Do-Something
참고 URL : https://stackoverflow.com/questions/10832000/best-way-to-write-to-the-console-in-powershell
'IT박스' 카테고리의 다른 글
.bashrc, .bash_profile 및 .environment의 차이점은 무엇입니까? (0) | 2020.07.01 |
---|---|
파이썬에서 네임 스페이스 패키지를 어떻게 만듭니 까? (0) | 2020.07.01 |
모델 빈에서 Gson 인스턴스를 정적 필드로 사용하는 것이 괜찮습니까 (재사용)? (0) | 2020.07.01 |
Django App Tutorial에서 choice_set은 무엇입니까? (0) | 2020.07.01 |
Windows에서 Git Bash를 시작할 때 SSH 에이전트 실행 (0) | 2020.07.01 |