source

비 PowerShell 명령의 출력을 억제하시겠습니까?

ittop 2023. 8. 26. 00:03
반응형

비 PowerShell 명령의 출력을 억제하시겠습니까?

명령을 실행하는 중입니다.

hg st

그리고 나서 확인하는 것은.$LASTEXITCODE현재 디렉터리에서 수은을 사용할 수 있는지 확인합니다.나는 그것의 출력에 관심이 없고 내 사용자들에게 그것을 보여주고 싶지 않습니다.

성공 또는 오류, 모든 출력을 억제하려면 어떻게 해야 합니까?

수은은 PowerShell 명령어가 아니기 때문에hg st | Out-Null작동하지 않습니다.

Out-NullPowerShell 이외의 명령에서도 잘 작동합니다.그러나 출력은 억제되지 않습니다.STDERR에 한해서STDOUT출력을 억제하려는 경우STDERR또한 해당 파일 설명자를 다음으로 리디렉션해야 합니다.STDOUT출력을 에 파이프하기 전에Out-Null:

hg st 2>&1 | Out-Null

2>모든 출력 리디렉션STDERR(파일 설명자 #2).&1리디렉션된 출력을 의 출력과 병합합니다.STDOUT(파일 설명자 #1).결합된 출력은 다음으로 인쇄됩니다.STDOUT파이프가 들어갈 수 있는 곳에서.STDIN파이프라인의 다음 명령(이 경우)Out-Null). 자세한 내용은 을 참조하십시오.

재미있는 것은 출력을 Write-Verbose에 파이프로 연결하는 것입니다. 그러면 -Verbose 스위치로 스크립트를 실행하여 필요한 경우에도 출력을 볼 수 있습니다.

ping -n 2 $APP 2>&1 | Write-Verbose

이것도 할 수 있습니다.

hg st *> $null

파워셸 콘솔 출력 억제

언급URL : https://stackoverflow.com/questions/16744451/suppress-output-from-non-powershell-commands

반응형